【Java SE17 Silver 模擬試験】A-12

Java SE17 Silver 模擬試験
Java SE17 Silver 模擬試験

問題

次のコードのクラスをインスタンス化できないものはどれですか。(3つ選択)

record Person(String name) {}

class Parent {
	String name;
	public Parent(String name) {}
}

class Child extends Parent {
	public Child() { super("Scott");}
}

class GrandChild extends Child {
	public GrandChild() {}
	public GrandChild(String name) {}
}

選択肢

A) Child e = new Child () ;
B) GrandChild g = new GrandChild() ;
C) Person a = new Person("Duke");
D) GrandChild h = new GrandChild("Duke");
E) Person b = new Person();
F) Parent c = new Parent();
G) Child f = new Child("Duke");
H) Parent d = new Parent("Duke");

解答

A) Child e = new Child () ;
B) GrandChild g = new GrandChild() ;
C) Person a = new Person("Duke");
D) GrandChild h = new GrandChild("Duke");
E) Person b = new Person();
F) Parent c = new Parent();
G) Child f = new Child("Duke");
H) Parent d = new Parent("Duke");

解説

E) Person b = new Person();の選択肢は、PersonクラスのコンストラクタPerson()は未定義のため、コンパイルエラーとなるため、インスタンス化できません。

F) Parent c = new Parent();の選択肢は、ParentクラスのコンストラクタParent()は未定義のため、コンパイルエラーとなるため、インスタンス化できません。

G) Child f = new Child(“Duke”);の選択肢は、Childクラスのコンストラクタには引数を1つ受け取るコンストラクタが未定義のため、コンパイルエラーとなるため、インスタンス化できません。

前の問題へ SE17_A-11

次の問題へ SE17_A-13


対象資格:Java SE17 認定資格