java 構造器(constructor)
阿新 • • 發佈:2018-12-24
一.預設構造器:
構建過程是從基類向外擴散的,所以基類在匯出類可以訪問它之前,就已經完成了初始化
package ch7_05; class A{ public A(){ System.out.println("I am A"); } } class B{ public B(){ System.out.println("I am B"); } } public class C extends A{ B b = new B(); public static void main(String[] args) {new C(); } }/* output:
I am A
I am B
*///~
二.帶引數構造器
預設構造器編譯器可以輕鬆呼叫它是因為不必考慮要傳遞什麼樣的引數的問題,但是如果沒有預設的基類構造器,或者想呼叫一個帶引數的基類構造器,就必須用關鍵字super顯式地編寫呼叫基類構造器的語句,並且配之以適當的引數
package object; import static net.mindview.util.Print.*; class Game{ Game(int i) { print("Game constructor"); } }class BoardGame extends Game{ BoardGame(int i) { super(i); print("BoardGame constructor"); } } public class Chess extends BoardGame{ Chess() { super(1); print("Chess constructor"); } public static void main(String[] args) { Chess x= new Chess(); } }/* output: Game constructor BoardGame constructor Chess constructor *///~