≪Java≫ コンストラクタのオーバーロード
≪Java≫ コンストラクタのオーバーロード
コンストラクタを複数定義することを、コンストラクタのオーバーロードという。
オーバーロード(複数定義)できる条件。
可) ⇒ 引数の
① 型 、 ② 個数 、 ③ 並び順
が異なる。
(例)
public Music(String title){
this(title, “”, -1);
}
↑
引数の名前が違うだけなのでコンパイルエラーとなる。
↓
public Music(int price){
this(“” , “” , price);
}
不可) ⇒ ① アクセス修飾子が違う。(コンパイルエラー)
② 引数の名前が違う。 (コンパイルエラー)
(例)
public Music(String title){
this(title, “”, -1);
}
↑
引数の名前が違うだけなのでコンパイルエラーとなる。
↓
public Music(String artist){
this(“” , artist , -1);
}
↑
引数は、「t」や「tl」など、好きに引数名を付けれるので、コンパイラは「引数の並びと個数の相違」までしか判断ができない。(引数名で判断できない)