Dlaczego przypisujemy odwołanie rodzica do obiektu potomnego w Javie?
Zadaję dość proste pytanie, ale jestem trochę zdezorientowany tym.
Załóżmy, że mam klasęParent
:
public class Parent {
int name;
}
I mieć inną klasęChild.java
:
public class Child extends Parent{
int salary;
}
I wreszcie moja klasa Main.java
public class Main {
public static void main(String[] args)
{
Parent parent = new Child();
parent.name= "abcd";
}
}
Jeśli zrobię obiekt podrzędny, taki jak
Child child = new Child():
Następniechild
obiekt może uzyskać dostęp do obuname and salary
zmienne.
Moje pytanie brzmi:
Parent parent = new Child();
daje dostęp tylkoname
zmienna klasy nadrzędnej. Więc jakie jest dokładne wykorzystanie tej linii?
Parent parent = new Child();
A także, gdy używa dynamicznego polimorfizmu, dlaczego zmienna klasy potomnej nie jest dostępna po wykonaniu tej czynności
Parent parent = new Child();