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