コンストラクタ

Patricia Arquette
リリース: 2025-01-06 00:26:43
オリジナル
222 人が閲覧しました

コンストラクタ

1) コンストラクターとは何ですか?
---> Java では、コンストラクターはメソッドと同様のコードのブロックです。クラスのインスタンスが作成されるときに呼び出されます。コンストラクター呼び出し時に、オブジェクト用のメモリがメモリに確保されます。
--->これは、オブジェクトを初期化するために使用される特別なタイプのメソッドです。
---> new キーワードを使用してオブジェクトが作成されるたびに、少なくとも 1 つのコンストラクターが呼び出されます。
--->クラス内に使用可能なコンストラクターがない場合は、デフォルトのコンストラクターを呼び出します。このような場合、Java コンパイラーはデフォルトでデフォルトのコンストラクターを提供します。

コンストラクターの定義には次のルールがあります:

  • コンストラクター名はクラス名と同じである必要があります。
  • コンストラクターには明示的な戻り値の型があってはなりません。
  • Java コンストラクターは、抽象的、静的、最終的、同期化することはできません。[未定]

2) コンストラクターの種類
Java には 3 種類のコンストラクターがあります:

  • デフォルトのコンストラクター
  • パラメータ化されたコンストラクター
  • コンストラクターをコピー

1. Java のデフォルトのコンストラクター

パラメーターを持たないコンストラクターは、デフォルト コンストラクターと呼ばれます。デフォルトのコンストラクターは表示されません。また、引数なしでコンストラクターを作成した場合、コンパイラーはデフォルトのコンストラクターを作成しません。取り出してあります。これはオーバーロードされており、パラメーター化されたコンストラクターと呼ばれます。デフォルトのコンストラクターがパラメーター化されたコンストラクターに変更されました。ただし、パラメーター化されたコンストラクターはデフォルトのコンストラクターを変更できません。デフォルトのコンストラクターは、暗黙的または明示的に指定できます。

暗黙的なデフォルト コンストラクター: クラスにコンストラクターが定義されていない場合、Java コンパイラーは自動的にデフォルト コンストラクターを提供します。このコンストラクターはパラメーターを受け取らず、数値の場合は 0、オブジェクトの場合は null などのデフォルト値でオブジェクトを初期化します。

明示的なデフォルト コンストラクター: パラメーターを受け取らないコンストラクターを定義する場合、それは明示的なデフォルト コンストラクターと呼ばれます。このコンストラクターは、コンパイラーが通常自動的に作成するコンストラクターを置き換えます。コンストラクター (パラメーターの有無にかかわらず) を定義すると、コンパイラーはデフォルトのコンストラクターを提供しなくなります。

2. Java のパラメーター化されたコンストラクター
パラメーターを持つコンストラクターは、パラメーター化されたコンストラクターとして知られています。クラスのフィールドを独自の値で初期化したい場合は、パラメーター化されたコンストラクターを使用します。

3. Java のコンストラクターをコピー [未定]
他のコンストラクターとは異なり、コピー コンストラクターは別のオブジェクトとともに渡され、渡されたオブジェクトから利用可能なデータを新しく作成されたオブジェクトにコピーします。

3) コンストラクターのオーバーロードとは何ですか?
コンストラクターのオーバーロードは、すべてのコンストラクターが異なるタスクを実行できるように、異なるパラメーターを持つ複数のコンストラクターを持つという概念として定義できます。
Java では、メソッドのオーバーロードに加えて、コンストラクターのオーバーロードもサポートされています。 Java では、オーバーロードされたコンストラクターは、新しいメソッドの実行時に指定されたパラメーターに基づいて呼び出されます。場合によっては、さまざまな方法でオブジェクトを初期化する必要があることがあります。これは、コンストラクターのオーバーロードを使用して実行できます。

4) 「this」キーワードは何に使用されますか?
「this」キーワードは、メソッドまたはコンストラクター内の現在のオブジェクトを参照します。

「this」キーワードの最も一般的な使用法は、クラス属性と同じ名前のパラメーター間の混乱を避けることです (クラス属性はメソッドまたはコンストラクター パラメーターによってシャドウされるため)。

「this」は次の目的にも使用できます。

  • 現在のクラスのコンストラクターを呼び出します
  • 現在のクラスメソッドを呼び出します
  • 現在のクラスオブジェクトを返します
  • メソッド呼び出しで引数を渡します
  • コンストラクター呼び出しで引数を渡します

参考
https://www.javatpoint.com/java-constructor
https://www.geeksforgeeks.org/constructors-in-java/
https://www.javatpoint.com/constructor-overloading-in-java
https://www.geeksforgeeks.org/constructor-overloading-java/
https://www.w3schools.com/java/ref_keyword_this.asp

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

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