¿Por qué asignamos una referencia principal al objeto secundario en Java?

Estoy haciendo una pregunta bastante simple, pero estoy un poco confundido en esto.

Supongamos que tengo una claseParent:

public class Parent {

    int name;
}

Y tener otra claseChild.java:

public class Child extends Parent{

    int salary;
}

Y finalmente mi clase Main.java.

public class Main {

    public static void main(String[] args)
    {
        Parent parent = new Child();
        parent.name= "abcd";
    }
}

Si hago un objeto infantil como

Child child = new Child():

Entonceschild objeto puede acceder a ambosname and salary variables

Mi pregunta es:

Parent parent = new Child();

da el acceso de soloname Variable de la clase padre. Entonces, ¿cuál es el uso exacto de esta línea?

 Parent parent = new Child();

Y también cuando se utiliza el polimorfismo dinámico, entonces ¿por qué la variable de la clase secundaria no es accesible después de hacer esto?

Parent parent = new Child();

Respuestas a la pregunta(8)

Su respuesta a la pregunta