コンストラクタ:問題1
問題:以下のプログラムのコンパイル・実行結果として適切なものを選択しなさい。
A. メソッドA()の戻り値の型がvoidなので、コンパイルエラー
B. メソッドA()の戻り値の型がvoidなので、実行時に例外発生
C. 正常に実行され、Aと表示される
D. 正常に実行され、何も表示されない
public class M {
public static void main(String[] args) {
A a = new A();
}
}
class A{
void A(){
System.out.println("A");
}
}
解答:
D. 正常に実行され、何も表示されない
解説:
コンストラクタは、戻り値の型を指定しないため、
「void A()」はコンストラクタではなく、
単なるAという名前のメソッドを定義しています。
したがって、「new A()」としても何も表示されません。
A. メソッドA()の戻り値の型がvoidなので、コンパイルエラー
B. メソッドA()の戻り値の型がvoidなので、実行時に例外発生
C. 正常に実行され、Aと表示される
D. 正常に実行され、何も表示されない
public class M {
public static void main(String[] args) {
A a = new A();
}
}
class A{
void A(){
System.out.println("A");
}
}
解答:
D. 正常に実行され、何も表示されない
解説:
コンストラクタは、戻り値の型を指定しないため、
「void A()」はコンストラクタではなく、
単なるAという名前のメソッドを定義しています。
したがって、「new A()」としても何も表示されません。