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

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

問題

次のコードをコンパイル、実行するとどうなりますか。

public class Main {
	public static void main(String... args) {
		Base b = new Sub();
		System.out.print("Base.id=" + b.id + ",Base::getID=" + b.getId() + " | ");
		b.id = 20;
		System.out.print("Base.id=" + b.id + ",Base::getID=" + b.getId() + " | ");
		Sub s = (Sub) b;
		System.out.print("Base.id=" + b.id + ",Base::getID=" + b.getId() + " | ");
		s.id = 21;
		System.out.print("Base.id=" + b.id + ",Base::getID=" + b.getId() + " | ");
	}
}

class Base {
	public int id = 10;

	public int getId() {
		return id;
	}
}

class Sub extends Base {
	int id = 11;

	public int getId() {
		return id;
	}
}

選択肢

A) Base.id=10,Base::getID=11 | Base.id=20,Base::getID=20 | Sub.id=11,Sub::getID=11 | Sub.id=21,Sub::getID=21 |  が出力される
B) Base.id=10,Base::getID=11 | Base.id=10,Base::getID=11 | Sub.id=20,Sub::getID=11 | Sub.id=21,Sub::getID=21 |  が出力される
C) Base.id=10,Base::getID=10 | Base.id=10,Base::getID=10 | Sub.id=20,Sub::getID=20 | Sub.id=21,Sub::getID=21 |  が出力される
D) Base.id=10,Base::getID=11 | Base.id=20,Base::getID=11 | Sub.id=11,Sub::getID=11 | Sub.id=21,Sub::getID=21 |  が出力される
E) Base.id=10,Base::getID=10 | Base.id=10,Base::getID=20 | Sub.id=20,Sub::getID=20 | Sub.id=21,Sub::getID=21 |  が出力される
F) Base.id=10,Base::getID=10 | Base.id=20,Base::getID=20 | Sub.id=11,Sub::getID=11 | Sub.id=21,Sub::getID=21 |  が出力される

解答

A) Base.id=10,Base::getID=11 | Base.id=20,Base::getID=20 | Sub.id=11,Sub::getID=11 | Sub.id=21,Sub::getID=21 |  が出力される
B) Base.id=10,Base::getID=11 | Base.id=10,Base::getID=11 | Sub.id=20,Sub::getID=11 | Sub.id=21,Sub::getID=21 |  が出力される
C) Base.id=10,Base::getID=10 | Base.id=10,Base::getID=10 | Sub.id=20,Sub::getID=20 | Sub.id=21,Sub::getID=21 |  が出力される
D) Base.id=10,Base::getID=11 | Base.id=20,Base::getID=11 | Sub.id=11,Sub::getID=11 | Sub.id=21,Sub::getID=21 |  が出力される
E) Base.id=10,Base::getID=10 | Base.id=10,Base::getID=20 | Sub.id=20,Sub::getID=20 | Sub.id=21,Sub::getID=21 |  が出力される
F) Base.id=10,Base::getID=10 | Base.id=20,Base::getID=20 | Sub.id=11,Sub::getID=11 | Sub.id=21,Sub::getID=21 |  が出力される

前の問題へ SE17_B-04

次の問題へ SE17_B-06

対象資格:Java SE17 認定資格