जब आप सुपर क्लास के संदर्भ चर को उप-वर्ग ऑब्जेक्ट के साथ रखने का प्रयास करते हैं, तो इस ऑब्जेक्ट का उपयोग करके आप केवल सुपर क्लास के सदस्यों तक पहुंच सकते हैं, यदि आप इस संदर्भ का उपयोग करके व्युत्पन्न वर्ग के सदस्यों तक पहुंचने का प्रयास करते हैं तो आपको एक संकलन समय मिलेगा त्रुटि।
उदाहरण
interface Sample { void demoMethod1(); } public class InterfaceExample implements Sample { public void display() { System.out.println("This ia a method of the sub class"); } public void demoMethod1() { System.out.println("This is demo method-1"); } public static void main(String args[]) { Sample obj = new InterfaceExample(); obj.demoMethod1(); obj.display(); } }
आउटपुट
InterfaceExample.java:14: error: cannot find symbol obj.display(); ^ symbol: method display() location: variable obj of type Sample 1 error
यदि आपको सुपर क्लास के संदर्भ में व्युत्पन्न वर्ग के सदस्यों तक पहुंचने की आवश्यकता है, तो आपको संदर्भ ऑपरेटर का उपयोग करके संदर्भ डालना होगा।
उदाहरण
interface Sample { void demoMethod1(); } public class InterfaceExample implements Sample{ public void display() { System.out.println("This is a method of the sub class"); } public void demoMethod1() { System.out.println("This is demo method-1"); } public static void main(String args[]) { Sample obj = new InterfaceExample(); obj.demoMethod1(); ((InterfaceExample) obj).display(); } }
आउटपुट
This is demo method-1 This is a method of the sub class