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();

questionAnswers(8)

yourAnswerToTheQuestion