1. ホーム
  2. java

[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?

2022-03-17 03:16:49

質問

コンストラクタを別のクラスから呼び出すことはできますか(同じクラス内で、サブクラスからではありません)?もし可能なら、どのようにすればよいのでしょうか?また、別のコンストラクタを呼び出す最良の方法は何でしょうか(いくつかの方法がある場合)?

どのように解決するのですか?

はい、可能です。

public class Foo {
    private int x;

    public Foo() {
        this(1);
    }

    public Foo(int x) {
        this.x = x;
    }
}

同じクラス内のコンストラクタではなく、特定のスーパークラスのコンストラクタにチェインするには super の代わりに this . なお にチェーンできるのは1つのコンストラクタだけです。 であり、かつ は、コンストラクタ本体の最初のステートメントである必要があります。 .

以下もご参照ください。 この関連質問 は、C#に関するものですが、同じ原則が適用されます。