super() はスーパークラスのコンストラクタを呼び出します。
this() はそのクラスの引数なしのコンストラクタを呼び出します。
最終的にはすべてのクラスのスーパークラスである Object クラスのコンストラクタが呼び出されます。
super()、this() に引数をつけることは可能です。
super() と this() の併用は不可です。
super() と this() はコンストラクタ内の処理の最初に記述する。
Sample sample = new Sample(1)
下記の例では引数ありのコンストラクタ内で super() が自動生成されます。
class Sample {
Sample() { }
Sample(int x) { } // super()が自動生成される
}
下記の例では引数なしコンストラクタ内に super() が自動生成されます。
class Sample {
Sample() { } // super() が自動生成される
Sample(int x) {this();}
}
下記の例では引数ありのコンストラクタ内で super() が自動生成されます。
class Sample {
Sample() { }
Sample(int x) { } // super()が自動生成される
}
下記の例では引数なしコンストラクタ内に super() が自動生成されます。
class Sample {
Sample() { } // super() が自動生成される
Sample(int x) {this();}
}
0 件のコメント:
コメントを投稿