ホームページ > Java > &#&チュートリアル > Java の静的ブロックを使用したコンストラクターのオーバーロード

Java の静的ブロックを使用したコンストラクターのオーバーロード

王林
リリース: 2023-09-06 14:41:06
転載
1349 人が閲覧しました

Java の静的ブロックを使用したコンストラクターのオーバーロード

オブジェクトをインスタンス化する行為は、対応するコンストラクターを呼び出します。これは、オブジェクト指向プログラミングの多くの機能の基礎です。オブジェクトを使用するプログラムには必ずデフォルトのコンストラクターが存在することに注意してください。シームレスに使用できるように、コンパイラーが自動的にそれを作成します。

この説明では、Java の静的ブロックのコンストラクターのオーバーロードについて詳しく説明します。コンストラクターのオーバーロードは、クラス内で異なるパラメーターを持つ複数のコンストラクターを定義する概念です。

###文法### リーリー

静的ブロックでコンストラクターを使用すると、オブジェクトの初期化中に、より強力な機能と柔軟性が提供されます。

###アルゴリズム###

静的ブロックを使用してコンストラクターをオーバーロードするには、以下の手順に従ってください -

ステップ 1
    - 異なるパラメーターを持つ複数のコンストラクターを含むクラスを作成します。
  • ステップ 2
  • - 「static」キーワードを使用して静的ブロックを作成します。
  • このブロックは、クラスがメモリにロードされるときに 1 回実行されます。

    ステップ 3
  • - クラスをロードするとき、最初に静的ブロックが実行され、次にオブジェクトの作成時にコンストラクターが実行されます。
  • ステップ 4
  • - 指定された引数に基づいてコンストラクターが呼び出されます。
  • 方法 1: 別の静的ブロックを定義する

  • このアプローチには、静的ブロックとオーバーロードされたコンストラクターを個別に定義することが含まれます。

Example

の中国語訳は次のとおりです:

Example

リーリー

このアプローチでは、クラスに、初期化コードも含まれるさまざまなパラメーター リストを持つオーバーロードされたコンストラクターを含めることができます。クラスの静的初期化用の別の静的ブロックもあります。このブロックは 1 回実行されます。

###例###

この例では、方法 1

を示します。 リーリー ###出力### リーリー

イラスト

企業では、経験年数に関係なく、同じ会社で働くことになります。したがって、会社変数に値が渡されない場合は、会社と同じ会社名が自動的に設定されます。このために、静的ブロックを使用します。

方法 2: コンストラクターから静的メソッドを呼び出す

共有初期化コードを実行するには、クラス内で静的メソッドを宣言し、コンストラクターからそれらを呼び出すことができます。

Example

の中国語訳は次のとおりです:

Example

リーリー ###出力### リーリー

イラスト

この図の Way2Class クラスには 3 つのコンストラクターが含まれており、それぞれが静的初期化 () メソッドを呼び出して共有初期化コードを実行します。各コンストラクターは、クラス内で指定された静的関数 initialize() を呼び出します。指定されたパラメーターに基づいて、オブジェクトの作成中に適切なコンストラクターが呼び出され、静的メソッドのInitialize() を使用してパブリック初期化コードが実行されます。

方法 1 と方法 2 の比較

######標準######

方法 1

方法 2

######タイプ###### 共通の静的メソッドをさまざまなコンストラクターで再利用します。 メソッドロジックコンストラクターのオーバーロードと静的ブロックアプローチ 2 (コンストラクターから呼び出される静的メソッド) では、コードの構成と継承において柔軟性が高まりますが、アプローチ 1 (共通のコードを持つ複数のコンストラクター) はより独立しており、より単純です。 2 つの方法のどちらを選択するかは、現在のプロジェクトの特定の要件と設計上の考慮事項によって異なります。

個別の静的ブロック

コンストラクターから静的メソッドを呼び出す

######方法######

独立した静的メソッドと共通のコンストラクター。

コンストラクターのオーバーロードと静的ブロック

###結論は###

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

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート