説明:スーパー本明細書()のみ使用プレースホルダであり、実際には、階層の初期化処理に応じて厳密でなければならない:
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