Про binding в Java

Помогите разобраться с этим моментом

class Child extends Parent(){};
class Test(){ 
public static void main (String [] args){
Parent parent1 = new Parent(); 
Parent aschild =new Child(); 
Child child1 = new Child(); 
}
}

Обьясните для чего создается такого типа обьект как aschild ?

И зачем нужен aschild если мы можем использовать методы и поля родительского класса в обьекте parent1?


Ответы (1 шт):

Автор решения: ya Vodyanoy

Объект aschild создается для демонстрации полиморфизма в Java. В данном случае, aschild является объектом класса Child, но объявлен как объект класса Parent. Это позволяет использовать объект класса Child через ссылку на объект класса Parent.Полиморфизм позволяет работать с объектами разных классов через общий интерфейс (или родительский класс) без необходимости знать конкретный тип объекта. В данном случае, объект aschild может использовать методы и поля, определенные в классе Parent, но также может использовать методы и поля, определенные в классе Child, если они переопределены. Использование объекта aschild вместо parent1 может быть полезным, если вам нужно обращаться к методам или полям, которые были переопределены в классе Child и должны быть использованы в контексте объекта Child. В противном случае, если вам нужно только использовать методы и поля из класса Parent, объект parent1 будет достаточным.

→ Ссылка