ホームページ  >  記事  >  Java  >  Javaでコンストラクタメソッドを書く方法

Javaでコンストラクタメソッドを書く方法

青灯夜游
青灯夜游オリジナル
2021-07-23 17:42:0319351ブラウズ

Java のコンストラクター メソッドは、「class class_name {public class_name(){} public ciass_name([paramList]){} ...//class body}」と記述されます。メソッド名は同じである必要があります。クラス名として使用し、それぞれのメソッドパラメータは異なる必要があります。

Javaでコンストラクタメソッドを書く方法

#このチュートリアルの動作環境: Windows7 システム、Java8 バージョン、DELL G3 コンピューター。

コンストラクター メソッドは、クラスの特別なメソッドであり、クラスの新しいオブジェクトを初期化するために使用され、オブジェクトの作成後に自動的に呼び出されます (new 演算子)。 Java のすべてのクラスにはデフォルトのコンストラクターがあり、複数のコンストラクターを持つことができます。

Java コンストラクター メソッドには次の特性があります。

  • メソッド名はクラス名と同じである必要があります。

  • 0 または 1 を持ちます。 1 つ以上のパラメータがあります。

  • void を含む戻り値はありません。

  • デフォルトの戻り値の型は、オブジェクト型そのものです。

  • new 演算子と組み合わせてのみ使用できます

  • #戻り値の型がコンストラクターに定義されている場合、または void が使用されている場合に注意してください。コンストラクターに戻り値がないことを宣言すると、コンパイラーはエラーは発生しませんが、Java はこのいわゆるコンストラクター メソッドを通常のメソッドとして扱います。

ここで疑問に思うかもしれませんが、コンストラクタには戻り値がありませんよね?なぜ void で宣言できないのでしょうか?

簡単に言えば、これは Java の構文です。実際、クラスのコンストラクタには戻り値があり、new キーワードを使用してコンストラクタを呼び出すと、コンストラクタはクラスのインスタンスを返します。このクラスのインスタンスはコンストラクタの戻り値とみなすことができるため、コンストラクターの戻り値 値の型は常に現在のクラスであり、戻り値の型を定義する必要はありません。ただし、コンストラクターの戻り値は暗黙的であるため、コンストラクターで return を使用して現在のクラスのオブジェクトを返さないように注意する必要があります。

注: コンストラクターは、static、final、synchronized、abstract、およびネイティブ (abstract と同様) では変更できません。コンストラクターは新しいオブジェクトを初期化するために使用されるため、それを静的に変更することは意味がありません。コンストラクタはサブクラスに継承できないので、finalやabstractで修飾しても意味がありません。複数のスレッドが同じメモリ アドレスを持つ同じオブジェクトを同時に作成することはないため、同期変更を使用する必要はありません。 static と Final 以外のキーワードがわからない場合は、チュートリアルの後半で詳しく説明します。

コンストラクター メソッドの構文形式は次のとおりです。

class class_name {
    public class_name(){}    // 默认无参构造方法
    public ciass_name([paramList]){}    // 定义构造方法
    …
    // 类主体
}
クラス内では、クラスと同じ名前のメソッドがコンストラクター メソッドです。各クラスは複数のコンストラクターを持つことができますが、それぞれに異なるメソッド パラメーターを含める必要があります。

例:

構築方法には、主にパラメータなしの構築方法とパラメータ化された構築方法があり、例は次のとおりです。構築方法には、パラメータレス構築方法とパラメータ化構築方法の 2 つがあります。クラス内に異なるパラメーターを持つ同じ名前の複数のメソッドを定義することをメソッドのオーバーロードと呼びます。どちらのコンストラクターも、クラスと同じ MyClass という名前を持っています。クラスをインスタンス化するときに、初期化のためにさまざまなコンストラクターを呼び出すことができます。

注: クラスのコンストラクターを定義する必要はありません。クラスにコンストラクターが定義されていない場合、Java はクラスのデフォルトのコンストラクターを自動的に生成します。デフォルトのコンストラクターにはパラメーターが含まれておらず、メソッド本体は空です。 1 つ以上のコンストラクターがクラスで明示的に定義されている場合、Java はデフォルトのコンストラクターを提供しなくなりました。

ヒント: パラメーターなしのコンストラクターは、Nullary コンストラクターとも呼ばれます。コンパイラによって自動的に追加されたコンストラクタのみをデフォルト コンストラクタと呼びます。パラメーターもコンテンツも持たずにコンストラクターを作成した場合、そのコンストラクターはデフォルト コンストラクターとは呼ばれません (単に Nullary コンストラクター)。これは単なる名詞の定義ですが、認定試験では 2 つの違いを区別する必要があります。

推奨される関連ビデオ チュートリアル:

Java ビデオ チュートリアル

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

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