Java基礎-繼承的使用
阿新 • • 發佈:2022-05-05
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()."); } }