App下載

Java基礎(chǔ)知識(shí)——繼承

猿友 2021-07-14 10:35:44 瀏覽數(shù) (2469)
反饋

本文將為您介紹 Java 基礎(chǔ)知識(shí)中,Java 繼承的概念以及繼承的使用方法等。

一、簡(jiǎn)介

什么是繼承?普遍認(rèn)知,如繼承手藝、繼承遺產(chǎn)等,從另外一個(gè)人身上獲得技藝或者財(cái)富。

在Java中,繼承是三大特性之一,是一種機(jī)制,表示為從子對(duì)象獲一個(gè)取父對(duì)象的所有屬性和行為。換個(gè)說(shuō)法就是,子類繼承了父類的所有東西,同時(shí)自己也可以有一些父類所沒(méi)有的。

在Java中,要使用繼承,需要使用關(guān)鍵字 ?extends?,具體語(yǔ)法如下:

class Subclass-name extends Superclass-name
{
    //methods and fields
}

Java繼承的示例:

圖片16

上圖中,?Employee?是父類,?Programmer?是子類。表示?Programmer?是?Employee?的一個(gè)子類型。具體代碼:

class Employee {
    float salary = 48880;
}

class Programmer extends Employee {
    int bonus = 10000;
    
    public static void main(string args[]){
        Programmer p = new Programmer();
        System.out. println(""Programmer salary is:" + p.salary);
        system.out. println("Bonus of Programmer is :” + p.bonus);
    }
}

執(zhí)行結(jié)果:


Programmer salary is : 40000.0
Bonus of programmer is: 10000

從結(jié)果可以得到,子類除了自身定義的屬性(bonus),還繼承了父類的屬性(salary)。

 

二、Java繼承類型

在 Java 中主要是三中類型的繼承:?jiǎn)我?、多?jí)和分層。在 Java 編程中,僅能通過(guò)接口支持多重和混合繼承,想要了解該部分可以參考Java 基礎(chǔ)知識(shí)接口。

圖片17

【注】在Java中只有接口接受多重繼承,而類有且只能繼承一個(gè)。

(1)單一繼承

class Animal {
    void eat(){
        system.out.println("eating...");
    }
}
class Dog extends Animal {
    void bark() {
        system.out println(""barking...")
    }
}
class TestInheritance {
    public static void main(string args[]){
        Dog d = new Dog();
        d.bark();
        d.eat();
    }
}
barking...
eating...

(2)多級(jí)繼承

class Animal{
    void eat() {
        System.out.printin("eating..."):
    }
}
class Dog extends Animal{
    void bark(){
        System.out.printIn("barking..." );
     }
}

class BabyDog extends Dog{
    void weep(){
        System.out.printin("weeping...");
    }
}
class Testinheritance2{
    public static void rain(String args[]){
        BabyDog d = new BabyDog();
        d.weep();
        d.bark();
        d.eat();
    }
}
weeping...
barking...
eating...

(3)分層繼承

class Animal {
    void eat(){
        System.out.println("eating...";
    }
}
class Dog extends Animal {
    void bark(){
        system.out.println("barking...")
    }
}
class Cat extends Animal {
    void meow() {
        System.out-println( "meowing...");
    }
}
class TestInheritance3 {
    public static void main(string args[]){
        cat c = new Cat();
        c.meaw();
        c.eat();   
    }
}
meowing...
eating...

 

三、總結(jié)

關(guān)于Java繼承的概念和Java中關(guān)于類的繼承使用方法介紹就到此結(jié)束了,此外 Java 的繼承中關(guān)于多重繼承的內(nèi)容,是在接口內(nèi)容中。如果想要了解更多關(guān)于Java基礎(chǔ)知識(shí)的內(nèi)容,請(qǐng)關(guān)注 w3cschool。


0 人點(diǎn)贊