को देखते हुए:संदर्भ प्रकार और ऑब्जेक्ट प्रकार बदलने जावा
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 के संदर्भ प्रकार क्या है और वस्तु यह संदर्भ देता है के प्रकार क्या है?
ए संदर्भ प्रकार जेड है; ऑब्जेक्ट प्रकार जेड
बी संदर्भ प्रकार वाई है; ऑब्जेक्ट प्रकार वाई
सी संदर्भ प्रकार ज़ेड है; ऑब्जेक्ट प्रकार वाई
डी संदर्भ प्रकार एक्स है; ऑब्जेक्ट प्रकार Z.
इस स्थिति में, मुझे पता है कि ऑब्जेक्ट प्रकार निश्चित रूप से वाई है, क्योंकि मैं इसे .getClass() विधि से परीक्षण कर सकता हूं। लेकिन मैं यह सुनिश्चित नहीं कर रहा हूं कि संदर्भ प्रकार क्या है। मुझे लगता है कि यह ज़ेड है लेकिन यह धारणा आंत महसूस पर आधारित है और तर्क नहीं है।
कोई भी संदर्भ प्रकार के बारे में विस्तार से बता सकता है और क्यों?
धन्यवाद।
मैं सी के साथ जाऊंगा, ऑब्जेक्ट नए वाई() के साथ बनाया गया था; और myZ को Z –