ホームページ  >  記事  >  Java  >  コンストラクターのオーバーロードとコンストラクターの連鎖。

コンストラクターのオーバーロードとコンストラクターの連鎖。

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-06 13:18:02170ブラウズ

Overloading Constructors and Constructor Chaining.

次の点に注意してください:

  • クラスにプライベート コンストラクターがあると、デフォルトの引数なしのコンストラクターを提供しないようコンパイラーに指示します。

  • プライベート コンストラクターはインスタンス化できません。

  • this() は、コンストラクター内の最初のコメント化されていないステートメントでなければなりません。コメントはどこにいても許可されます。

建設過負荷とは何ですか?

Java におけるコンストラクターのオーバーロードとは、インスタンス クラスで複数のコンストラクターを使用することを指します。ただし、オーバーロードされた各コンストラクターには異なるシグネチャが必要です。コンパイルを成功させるには、各コンストラクターに異なる引数リストが含まれている必要があります。

メソッド シグネチャが異なる限り、同じクラス内に複数のコンストラクターを含めることができます。メソッドをオーバーロードする場合は、メソッド名とパラメータ リストが一致する必要があります。コンストラクターの場合、名前はクラスの名前と同じである必要があるため、常に同じになります。コンストラクターをオーバーロードするには、異なるパラメーターが必要です。

上記では、コンストラクターの 1 つが単一の int パラメーターを受け取ります。もう 1 つは int と String を受け取ります。これらのパラメーター リストは異なるため、コンストラクターは正常にオーバーロードされます。
ただし、ここで問題があります。少し重複する部分があります。私たちが本当に望んでいるのは、最初のコンストラクターが
で 2 番目のコンストラクターを呼び出すことです。 2 つのパラメータ。

コンストラクターチェーン
それは、オーバーロードされたコンストラクターが相互に呼び出しを行うときです。一般的なテクニックの 1 つは、
をそれぞれ持つことです。 コンストラクターは、すべての作業を実行するコンストラクターに到達するまで、パラメーターを 1 つ追加します。

結果: 15 16 6

main() メソッドは、1 つのパラメーターを指定してコンストラクターを呼び出します。そのコンストラクターは 2 番目のハードコーディングされた値を追加し、2 つの
を指定してコンストラクターを呼び出します。 パラメータ。そのコンストラクターは、ハードコーディングされた値をもう 1 つ追加し、コンストラクター
を呼び出します。 3 つのパラメータを使用します。 3 つのパラメーターのコンストラクターはインスタンス変数を割り当てます。

コンストラクターチェーンは、コンストラクターを呼び出したい場合に使用されます
別のコンストラクター内。

オーバーロードとチェーンの複合的な利点

コンストラクターのオーバーロードとチェーンを組み合わせることで、コードの柔軟性、効率性、保守性が向上します。オーバーロードによりさまざまな初期化シナリオをサポートできる一方、チェーンにより共有ロジックを一元化して冗長性を削減できます。

以上がコンストラクターのオーバーロードとコンストラクターの連鎖。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。