1. 程式人生 > 其它 >Java基礎-繼承的使用

Java基礎-繼承的使用

package com.hspedu.testsuper_;

public class Test {
    public static void main(String[] args) {
        // 測試

        /**
         * 1、建立子類物件時,父類的構造器會被呼叫,
         *  不指定構造器時,呼叫無參構造器;
         *  如果沒有無參構造器,則需要顯示指定父類構造器super(..);,或者直接super(..);指定父類構造器
         */
        Cat cat = new Cat();
        Cat white 
= new Cat("小白", 2); System.out.println("========================================"); /** * 2、建立子類物件可以super(..); 和 this(..);必須使用一種,不能共存且都在構造器首行 * super指定父類構造器,this指定本類構造器 */ Cat black = new Cat("小黑"); } } class Animal { private String name;
private int age; public Animal(String name, int age) { System.out.println("呼叫Animal(String name, int age)構造器."); this.name = name; this.age = age; } public Animal(String name) { System.out.println("呼叫Animal(String name)構造器."); this.name = name; }
public Animal() { System.out.println("呼叫Animal()構造器."); } 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; } } class Cat extends Animal { public Cat(String name, int age) { super(name, age); // 顯示呼叫父類的Animal(String name, int age)構造器 System.out.println("Cat(String name, int age)."); } public Cat() { // 隱式呼叫父類的Animal()構造器,等價於 super(); System.out.println("Cat()."); } public Cat(String name) { this(); System.out.println("Cat(String name)呼叫Cat()."); } }