कक्षा के भीतर, सुपरक्लस में एक फ़ील्ड के समान नाम वाला फ़ील्ड सुपरक्लास के क्षेत्र को छुपाता है।जावा विरासत में छिपे हुए फ़ील्ड
public class Test {
public static void main(String[] args) {
Father father = new Son();
System.out.println(father.i); //why 1?
System.out.println(father.getI()); //2
System.out.println(father.j); //why 10?
System.out.println(father.getJ()); //why 10?
System.out.println();
Son son = new Son();
System.out.println(son.i); //2
System.out.println(son.getI()); //2
System.out.println(son.j); //20
System.out.println(son.getJ()); //why 10?
}
}
class Son extends Father {
int i = 2;
int j = 20;
@Override
public int getI() {
return i;
}
}
class Father {
int i = 1;
int j = 10;
public int getI() {
return i;
}
public int getJ() {
return j;
}
}
क्या कोई मेरे लिए परिणाम समझा सकता है?
आपकी समझ के आधार पर छिपाने और विरासत का मतलब क्या है; आपको क्यों लगता है कि वे मूल्य किस तरह हैं? आप इसे अपने लिए बाहर करने में सक्षम होना चाहिए। –
क्या यह होमवर्क है? –
एक बेटा छिपाने वाले चर पर पिता – jsj