Java でのコンストラクターの連鎖

Java Denokonsutorakutano Lian Suo



Java では、コンストラクターはクラスのインスタンスを初期化する際に重要な役割を果たします。これらは Java メソッドに似ています。ただし、コンストラクター名は常にクラス名と同じですが、通常のメソッドには任意の有効な名前を付けることができます。ほとんどの場合、これらはオブジェクトを宣言するための特別なメソッドとも呼ばれます。継承を利用して発生するコンストラクター チェーンを作成できます。子/サブクラスのコンストラクターは、最初に親/スーパークラスのコンストラクターを呼び出し、その後、子クラスのコンストラクターを呼び出すことができます。

この投稿では、Java のコンストラクター チェーンについて説明します。







Java でのコンストラクターの連鎖

コンストラクターの変更は、指定された目的に従ってコンストラクターを別のコンストラクターに呼び出すための最も重要な手順です。コンストラクター チェーンの主な用途の 1 つは、複数のコンストラクターがあるときに冗長なコードを避けることです。これにより、コードが理解しやすくなり、読みやすくなります。



Java でコンストラクター チェーンを実行するには、次に示す 2 つの方法があります。



コンストラクター チェーンをより深く理解するために、これらのメソッドを 1 つずつ確認してみましょう。





方法 1: 「this()」キーワードを使用した同じクラス内でのコンストラクターの連鎖

コンストラクターの連鎖が同じクラス内で実行される場合、Java ' これ() ”というキーワードが使われています。デフォルトのコンストラクターは、クラス インスタンスが開始されるときに呼び出されます。 「」を使用して別のコンストラクターを呼び出します。 これ 」というキーワード。次に、「println()」メソッドを呼び出して、結果をコンソールに表示します。



( ) {
これ ( 5 ) ;
System.out.println ( 「デフォルトのコンストラクター」 ) ;
}


次に、パラメーターで構成される 2 番目のコンストラクターを呼び出します。 ある 」にパラメータの値を設定します。 これ() 」というキーワード。次に、「」を活用します。 println() ” を引数として「a」を渡し、結果を表示します。

( 整数 ) {
これ ( 5 二十 ) ;
System.out.println ( ある ) ;
}


このコンストラクターでは、2 つの整数型パラメーターを「」として渡しています。 ある ' と ' b ”。その後、「println()」メソッドを呼び出して「 a*b ” これは、次の変数の積を返します。

( int a、int b ) {
System.out.println ( ある * b ) ;
}


の中に ' 主要() 」メソッドを実行すると、他のコンストラクターを自動的に呼び出して結果をコンソールに表示するデフォルトのコンストラクターが呼び出されます。

パブリック静的ボイドメイン ( 文字列引数 [ ) {
新しい最小値 ( ) ;
}


その結果、すべてのコンストラクターの出力がコンソールに表示されます。


複数のクラスでコンストラクターを連鎖させたい場合は、以下のメソッドをチェックしてください。

方法 2: 「super()」キーワードを使用して別のクラスにコンストラクターをチェーンする

あるクラスから別のクラスにコンストラクターをチェーンすることもできます。このために、「super()」キーワードが使用されます。これを行うには、メイン クラスで次のコードを利用します。

まずは文字列型変数「 名前 」を実行し、メイン クラス名を使用して最初のコンストラクターを呼び出します。

文字列名。
( ) {
これ ( 「」 ) ;
System.out.println ( 「基本クラスのコンストラクターなし」 ) ;
}


2 番目のコンストラクターを呼び出し、上記で宣言した変数「」を渡します。 文字列名 ”をパラメータとして指定します。使用 ' これ ” キーワードを使用して値にアクセスし、” println() 」印刷目的のメソッド:

( 文字列名 ) {
this.name = 名前;
System.out.println ( 「ベースのパラメータ化されたコンストラクタの呼び出し」 ) ;
}


「」の中 主要() ” メソッドで、パラメータ「」を指定して子クラスを呼び出します。 名前 ”。これにより、パラメータが「」である親クラスのコンストラクターが呼び出されます。 名前 ' 合格。次に、パラメータ「」を指定して子クラスのコンストラクターを呼び出します。 名前 ”:

パブリック静的ボイドメイン ( 文字列引数 [ ) {
新しい子 ( '名前' ) ;
}


「」を使用する子クラスが作成されます。 伸びる ” キーワードを使用して親クラスを継承し、3 番目のコンストラクターを呼び出します。その後、次のコンストラクターを呼び出し、このコンストラクター内で親クラスの 2 番目のコンストラクターを呼び出します。

クラスの子は最小値を拡張します {
子供 ( ) {
System.out.println ( 「子クラスの引数コンストラクタなし」 ) ;
}
子供 ( 文字列名 ) {
素晴らしい ( 名前 ) ;
System.out.println ( '子のパラメーター化されたコンストラクターを呼び出す' ) ;
}
}


出力


Java のコンストラクター チェーンについては以上です。

結論

Java では、同じクラス内のコンストラクターの連鎖は「this()」キーワードを使用して実行されますが、「super()」キーワードはさまざまなクラスでコンストラクターの連鎖を実行するために使用されます。コンストラクターの連鎖は継承を利用して行われます。サブクラスのコンストラクターは最初にスーパークラスのコンストラクターを呼び出し、その後、子クラスのコンストラクターを呼び出すことができます。この記事では、Java でのコンストラクター チェーンについて実際の例を示しながら説明しました。