12.16 Java繼承

liheihei發表於2021-12-16

 首先 :繼承,指一個物件直接使用另一物件的屬性和方法。

    繼承的格式:

        • public class 子類名 entends 父類名{}   /* 表示前面的子類繼承父類 */
        • 例:public class Zi extends Fu{}

  下面是程式碼說明:

/*
 * 動物類,父類
* 這是一個父類
*/ public class Animal { private String name; private int age; private String color; public Animal(String name, int age, String color) { this.name = name; this.age = age; this.color = color; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public void show() { System.out.println("動物的叫聲:"); } }

接下來我們來建立一個子類

/*
*這裡為貓的子類,它屬於動物類,所以我們繼承上面的動物類
*/
public
class Cat extends Animal { public Cat(String name, int age, String color) { super(name, age, color); super.show(); } public void show() { super.show(); System.out.println("喵喵喵..."); } }

我們再來建一個子類

/*
* 這是一個狗的子類,狗也屬於動物,屬於我們也可以繼承動物類即父類
*/
public
class Dog extends Animal{ public Dog(String name, int age, String color) { super(name, age, color); } public void show() { System.out.println("汪汪汪..."); } }

接下來,我們新建一個測試類

public class AbimalDemo {

    public static void main(String[] args) {
        Dog dog1 = new Dog("李嘿嘿",6,"灰色");
        System.out.println(dog1.getName()+"\t"+dog1.getAge()+"\t"+dog1.getColor());
        dog1.show();
        
        Cat cat1 = new Cat("宋貓貓",5,"粉色");
        System.out.println(cat1.getName()+"\t"+cat1.getAge()+"\t"+cat1.getColor());
        cat1.show();

    }

}

我們來看執行結果:

 

 

 在執行結果我們可以看到在呼叫show方法的時候我們建立子類物件的時候可以呼叫出父類的結果 即動物的叫聲

 

總結一下:

    繼承的優點是子類可以重寫父類的方法來方便地實現對父類的擴充套件

       ①:父類的內部細節對子類是可見的。

       ②:子類從父類繼承的方法在編譯時就確定下來了,所以無法在執行期間改變從父類繼承的方法的行為。

相關文章