次のコードがあるとします
class C {
int i;
String s;
C(){
System.out.println("In main constructor");
// Other processing
}
C(int i){
this(i,"Blank");
System.out.println("In parameterized constructor 1");
}
C(int i, String s){
System.out.println("In parameterized constructor 2");
this.i = i;
this.s = s;
// Other processing
// Should this be a copy-paste from the main contructor?
// or is there any way to call it?
}
public void show(){
System.out.println("Show Method : " + i + ", "+ s);
}
}
知りたいのですが、パラメーター化されたコンストラクター(つまりC(int i, String s)
この場合)からmain(デフォルト)コンストラクターを呼び出す方法はありますか?
または、上記のコードのコメントに示されているように、メイン(デフォルト)コンストラクターからパラメーター化されたコンストラクターにコンテンツ全体をコピーして貼り付けただけですか?
ノート
処理にはこれらの変数が含まれるため、変数の後にデフォルトコンストラクターを呼び出す必要がありi
、パラメーター化されたコンストラクターで設定されます。s
編集
この投稿を見ると、最初の行として配置this()
するとデフォルトのコンストラクターが呼び出されると書かれています。しかし、値を設定した後で呼び出す必要があります。