コンストラクターの機能
- コンストラクターの名前は、クラス名と同じである必要があります。
- 戻りタイプは無効です。
- コンストラクターは、静的、抽象、および最終にすることはできません。
コンストラクターの種類
- ディフォルト
- パラメータなし
- パラメータ化
1.デフォルトコンストラクタ
デフォルトのコンストラクターは、コーダーがクラスのコンストラクターを宣言せず、このコンストラクターに引数が含まれていない場合に、Javaコンパイラーによって作成されます。 Javaファイルには、デフォルトのコンストラクターのコードは含まれていません。デフォルトのコンストラクタコードは、Javaコードのコンパイル時に作成され、 。クラス ファイル。
2.パラメーターなしのコンストラクター
コンストラクターがパラメーターまたは引数なしで宣言されている場合、それはパラメーターなしのコンストラクターと呼ばれます。パラメーターのないコンストラクターはデフォルトのコンストラクターのように機能し、このコンストラクターにはステートメントを含めることも、空にすることもできます。
3.パラメーター化されたコンストラクター
コンストラクターが1つ以上のパラメーターで宣言されている場合、それはパラメーター化されたコンストラクターと呼ばれます。コンストラクターのパラメーター値は、オブジェクトの作成時に渡されます。
例1:パラメーターなしのコンストラクターの作成
次のコードは、パラメーターなしのコンストラクターの使用方法を示しています。コンストラクターのメソッド名はクラス名と同じになることは前に述べました。ここで、クラス名は「 con1 、」なので、パラメータなしのコンストラクタ名は「 con1() 。」2つのクラス変数、「 名前 ' と ' 年 、 ’はここで宣言されます。オブジェクト変数 ‘を宣言するとき obj 、 ’コンストラクターが呼び出され、特定のメッセージが出力されます。その後、2つの値がクラス変数に割り当てられ、後で 「obj」 物体。
公衆 クラスcon1{{//変数を宣言します
弦 名前;
int年;
//パラメータなしのコンストラクタ
con1(()。 {{
システム 。アウト。println((「コンストラクターが呼び出されます。」)。;
//変数を初期化します
名前= 「ファヒム・レザ」;
年= 30;
}
// main()メソッド
公衆 静的 空所主要(( 弦 []args)。 {{
//オブジェクトを作成します
con1 obj= 新着con1(()。;
//オブジェクトプロパティの値を出力します
システム 。アウト。印刷((「の時代」 +obj。名前 + ' は ' +obj。年)。;
}
}
出力:
次の画像は、コードの出力を示しています。コンストラクターは、オブジェクトの作成時とメッセージ時に呼び出されます コンストラクタは呼ばれます 印刷されます。 ‘の値 名前 ' と ' 年 ’はコンストラクター内で割り当てられます。これらの変数の値は後で出力されます。
例2:パラメーター化されたコンストラクターを作成する
次のコードは、基本給に基づいて従業員の総給与を計算し、計算された給与と一緒にその従業員の他の情報を出力します。ここでは、7つのクラス変数が宣言されています。 ‘という名前のコンストラクタ con2() 、 ’には3つのパラメータがあります。最初の2つのパラメータは、 ‘の文字列値を取ります 名前 ' と ' 役職 ’パラメータ、および3番目のパラメータは‘の数値を取ります 基本 ’パラメータ。これらのパラメータの値は、オブジェクトの作成時に渡されます。コンストラクターは、これらの値でクラス変数を初期化し、 ‘の値に基づいて他の値を計算します。 基本 ’パラメータ。次に、従業員の名前、役職、給与が印刷されます。
公衆 クラスcon2{{//変数を宣言します
弦 名前;
弦 役職;
int基本;
ダブルHouseRent;
ダブル医学;
ダブル輸送;
ダブル給料;
//パラメータ化されたコンストラクタ
con2(( 弦 名前、 弦 役職、int基本)。 {{
これ。名前 =名前;
これ。役職 =役職;
これ。基本 =基本;
これ。HouseRent =基本*0.3;
これ。医学 =基本*0.2;
これ。輸送 =基本*0.1;
給料=基本+HouseRent+医学+輸送;
}
// main()メソッド
公衆 静的 空所主要(( 弦 []args)。 {{
//オブジェクトを作成します
con2 obj= 新着con2((「ミア・サビール」、'会計士'、65000)。;
//オブジェクトプロパティの値を出力します
システム 。アウト。印刷(('従業員名: ' +obj。名前 + 'NS' + '役職: '+obj。役職 +
'NS' + 「給与:TK」+obj。給料)。;
}
}
出力:
次の画像は、コードの出力を示しています。ここでは、従業員の名前、役職、および基本給がオブジェクト作成のステートメントに記載されています。給与、名前、役職の合計がここに印刷されます。
例3:コンストラクターチェーンを作成する
コンストラクター連鎖の概念を理解するには、オブジェクト指向プログラミングの継承機能について知ることが重要です。別のクラスを継承して新しいクラスを作成することを継承と呼びます。この場合、親クラスまたは基本クラスのすべてのプロパティには、子クラスまたは派生クラスからアクセスできます。子クラスのオブジェクトが作成されると、独自のコンストラクターを呼び出す前に、親クラスのコンストラクターが自動的に呼び出されます。 NS ' 素晴らしい() ’メソッドは他の言語で親コンストラクターを呼び出すために使用されますが、Javaコンパイラーはこのメソッドを自動的に呼び出します。このようにコンストラクターを使用することをコンストラクターチェーンと呼び、このプロセスをこの例に示します。ここで、親クラス名は「 親 」であり、子クラス名は「 con3 。」という名前の別のメソッドがあります。 混ぜる() 親コンストラクターと子コンストラクターで割り当てられた値を組み合わせた子クラスの ’。
クラス親{{//変数を宣言します
弦 strVal;
//親コンストラクタ
親(()。{{
システム 。アウト。println((「親コンストラクタは呼ばれます」)。;
strVal= '好き ';
}
}
公衆 クラスcon3拡張します親{{
//変数を宣言します
弦 childStrVal;
//子コンストラクタ
con3(()。{{
システム 。アウト。println((「子コンストラクターが呼び出されます」)。;
childStrVal=strVal+ 「Javaプログラミング」;
}
//文字列を組み合わせる別の方法
弦 混ぜる(()。
{{
戻る これ。childStrVal;
}
// main()メソッド
公衆 静的 空所主要(( 弦 []args)。 {{
//オブジェクトを作成します
con3 obj= 新着con3(()。;
//オブジェクトプロパティの値を出力します
システム 。アウト。印刷((obj。混ぜる(()。)。;
}
}
出力:
次の画像は、コードの出力を示しています。最初のメッセージは親コンストラクターから出力され、2番目のメッセージは子コンストラクターから出力されます。最後のメッセージは、「 混ぜる() ' 方法。
結論
このチュートリアルでは、コンストラクターの概念とさまざまなコンストラクターの使用法について、初心者ユーザーが従うことができる簡単なJavaコード例を使用して説明します。これらの例が、Javaコンストラクターの基本を理解するのに役立つことを願っています。