[Javaの]ベースの学習は[ピット]の順のコンストラクタを呼び出します

説明:スーパー本明細書()のみ使用プレースホルダであり、実際には、階層の初期化処理に応じて厳密でなければならない:
1.プリントアウト、メンバ変数Yの、すなわち、初期化、親クラスのメンバ変数Xを初期化:Yを
2 。コンストラクタは、プリントアウト、親クラスXを初期化する:X
3の初期化が完了し、親クラス、サブクラスZの初期化、初期化サブクラスのメンバー変数yがされた後、プリントアウト:Y
4.次に、初期化サブクラスコンストラクタZ、プリントアウト:Zを

図から分かるように、スーパーは()の順序は、初期化をどこ影響し​​ません。

1  クラスX {
 2      YのB = 新しいY();
3      X(){
 4          システム。うちの.print(" X " );
5      }
 6  }
 7   
8  クラスY {
 9   
10      Y(){
 11          システム。うちの.print(" Y " );
12      }
 13  }
 14   
15  パブリック クラスZは、X {延び
 16   
17      Y Y = 新規のY();
18   
19      Z(){
 20          // スーパー()。
21          システム。アウト .PRINT(" Z " )。
22      }
 23   
24      公共 静的 ボイドメイン(文字列[]引数){
 25          Z(); 
26      }
 27 }

結果:YXYZ

おすすめ

転載: www.cnblogs.com/pengge666/p/12008067.html