JavaRush /Java Blog /Random-JA /コンストラクターからコンストラクターを呼び出す
alexnjc
レベル 31

コンストラクターからコンストラクターを呼び出す

Random-JA グループに公開済み
多くの場合、重複した初期化コードの作成を避けるために、あるコンストラクターのコードを別のコンストラクターから呼び出す必要があります。
コンストラクターからコンストラクターを呼び出す - 1
これを行う方法の例を次に示します。

public class SomeClass {
  int a;
  int b;
  int c;
  
public SomeClass(int a, int b){
   this.a = a;
   this.b = b;
  }

public SomeClass(int a, int b, int c){
    // Вызов конструктора с двумя параметрами.
    this(a, b);
    this.c = c; 
  }

public void show(){
    System.out.println("a = " + a);
    System.out.println("b = " + b);
    System.out.println("c = " + c);
  }
}
ご覧のとおり、このためにキーワード を使用しthis、その後、対応するコンストラクターのパラメーター (この場合は 2 つのパラメーター) を括弧内に示します。あるコンストラクターを同じクラスまたはスーパークラス内の別のコンストラクターから呼び出すことができますが、次の制限があります。
  • 呼び出されるコンストラクターは、呼び出し側コンストラクターのコードの最初の行になければなりません。
  • ネストされたコンストラクターは、「this」への明示的または暗黙的な参照を持つことはできません。したがって、内部クラスには入ることができません。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION