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

Patricia Arquette
リリース: 2024-11-06 13:18:02
オリジナル
185 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!