java-父類和子類的構造函數

說明:如果一個類繼承了另外一個類,那麼當進入該類的構造方法時,程序會默認先執行該類的父類的無參構造方法。
爲什麼:因爲當該類繼承別的類時,該類的所有構造方法的第一句必須是super();也即是調用父類的無參構造函數,就算我們不寫編譯器也會自動幫我們加上。

package Test;

public class Test {
    public static void main(String[] args) {
        Student s = new Student();
    }
}


class Humen{
    Humen() {
        System.out.println("Humen");
    }

}
class Student extends Humen{
    Student() {
        System.out.println("Student");
    }
}

輸出結果

Humen
Student

當調用有參構造時

package Test;

public class Test {
    public static void main(String[] args) {
        Student s = new Student("hello");
    }
}

class Humen{
    Humen() {
        System.out.println("Humen");
    }
    Humen(String s) {
        System.out.println(s);
    }
}
class Student extends Humen{
    Student() {
        System.out.println("Student");
    }
    Student(String s) {
        System.out.println(s);
    }
}

輸出結果

Humen
hello
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章