Po prostu odświeżam funkcje serwera Java. Tak, mam małe zamieszanie dotyczące koncepcji dziedziczenia. Do tego mam następujący przykładowy kod:Zrozumienie pojęcia dziedziczenia w Javie
class Super{
int index = 5;
public void printVal(){
System.out.println("Super");
}
}
class Sub extends Super{
int index = 2;
public void printVal(){
System.out.println("Sub");
}
}
public class Runner {
public static void main(String args[]){
Super sup = new Sub();
System.out.println(sup.index+",");
sup.printVal();
}
}
Teraz Powyższy kod daje mi wyjście jak: 5, Sub.
Tutaj nadpisujemy metodę printVal(), więc jest zrozumiałe, że uzyskuje dostęp tylko do metody klasy potomnej.
Ale nie mogłem zrozumieć, dlaczego to dostęp do wartości x od klasie Super ...
góry dzięki ....
Proszę skomentować, która odpowiedź jest najbliższa, która jest właściwa. – harshalb