Почему мы назначаем родительскую ссылку на дочерний объект в Java?
Я задаю довольно простой вопрос, но я немного запутался в этом.
Предположим, у меня есть классParent
:
public class Parent {
int name;
}
И есть другой классChild.java
:
public class Child extends Parent{
int salary;
}
И наконец мой класс Main.java
public class Main {
public static void main(String[] args)
{
Parent parent = new Child();
parent.name= "abcd";
}
}
Если я сделаю дочерний объект, как
Child child = new Child():
затемchild
объект может получить доступ как кname and salary
переменные.
Мой вопрос:
Parent parent = new Child();
дает доступ толькоname
переменная родительского класса.
Так каково точное использование этой линии?
Parent parent = new Child();
А также, когда он использует динамический полиморфизм, почему переменная дочернего класса недоступна после этого
Parent parent = new Child();