【Java SE17 Silver 模擬試験】B-49

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

問題

次のコードの [ A ] の部分で記述できるコードはどれですか。

A.java

package util.p1;

public class A {
}

B.java

package util.p2;

public class B {
}

C.java

package app.p3;

//[ A ]

public class C extends A {
	public B b;
}

選択肢

A) 
import static util.p1.*;
import static util.p2.*;
B) 
import util.p1.A;
import util.p2.B;
C) 
import static util.p1.A;
import static util.p2.B;
D) 
import util.*;
E) 
import util.p1.A.*;
import util.p2.B.*;
F) 
import util.p1.*;
import util.p2.*;

解答

A) 
import static util.p1.*;
import static util.p2.*;
B) 
import util.p1.A;
import util.p2.B;
C) 
import static util.p1.A;
import static util.p2.B;
D) 
import util.*;
E) 
import util.p1.A.*;
import util.p2.B.*;
F) 
import util.p1.*;
import util.p2.*;

解説

このコードの [ A ] の部分で記述できる正しいコードは以下の通りです。

正しい選択肢

  • B) import util.p1.A; import util.p2.B;
    → この形式で AB をそれぞれ正しくインポートできます。クラス CA を拡張し、B をメンバーとして使用できます。

その他の選択肢の理由

  • A) import static util.p1.; import static util.p2.;
    → これは静的メンバーをインポートするものであり、クラス自体はインポートしません。したがって、C クラスで AB を使用することができません。
  • C) import static util.p1.A; import static util.p2.B;
    → 静的インポートで、AB はクラスではなく静的メンバーが対象になるため、C で使用することができません。
  • D) import util.*;
    → これは util パッケージ内の全てのクラスをインポートしますが、クラス AB を明示的に参照する際には、他の選択肢よりも分かりにくいです。
  • E) import util.p1.A.; import util.p2.B.;
    → これはクラス AB に存在する静的メンバーをインポートしようとする形式であり、クラスそのものをインポートするものではありません。
  • F) import util.p1.; import util.p2.;
    util パッケージのすべてのクラスをインポートしますが、具体的なクラス AB を使用する際にはやや不明瞭です。機能的には問題ありませんが、選択肢としては明示的なインポートである B の方が適切です。

前の問題へ SE17_B-48

次の問題へ SE17_B-50

対象資格:Java SE17 認定資格