与えられた:
public class X implements Z {
public String toString() { return "I am X"; }
public static void main(String[] args) {
Y myY = new Y();
X myX = myY;
Z myZ = myX;
System.out.println(myZ);
}
}
class Y extends X {
public String toString() { return "I am Y"; }
}
interface Z {}
myZの参照タイプと、それが参照するオブジェクトのタイプは何ですか?
A.参照型はZです。オブジェクトタイプはZです。
B.参照型はYです。オブジェクトタイプはYです。
C.参照型はZです。オブジェクトタイプはYです。
D.参照型はXです。オブジェクトタイプはZです。
この状況では、.getClass()メソッドを使用してテストできるため、オブジェクトタイプは確かにYであることがわかります。しかし、参照型が何であるかを確認する方法がわかりません。私はそれがZであると仮定していますが、その仮定は論理ではなく腸の感覚に基づいています。
誰かが参照タイプが何であるか、そしてその理由について詳しく説明できますか?
ありがとうございました。