Java中抽象類的構造器的作用
阿新 • • 發佈:2019-01-04
因為抽象類不可例項化,那麼只能在子類例項化時呼叫該抽象類的構造器才有用
看例項程式碼:
abstract class Animal { Animal(){ System.out.println("抽象類Animal無參構造器"); //此處執行前會預設執行super() } Animal(int a){ System.out.println("抽象類Animal有參構造器"); } } public class Horse extends Animal { Horse () { System.out.println("子類horse無參構造器"); //此處執行前會預設執行super() } Horse (int h) { super(3); System.out.println("子類horse有參構造器"); } public static void main(String [] args) { Horse h = new Horse(); System.out.println("---------------------"); Animal h2 = new Horse(6); // Animal h3 = new Animal(); //無法編譯,抽象類不可例項化 } }
執行結果如下:
抽象類Animal無參構造器
子類horse無參構造器
---------------------
抽象類Animal有參構造器
子類horse有參構造器