Полиморфизм Java, создающий объект подкласса, используя его переменную суперкласса

Итак, я студент и в процессе изучения Java. Есть одна концепция, которую мне трудно понять, и я надеюсь, что кто-то может пролить свет на это для меня. Мой вопрос касается полиморфизма. Скажем, например, у меня есть следующий код.

Animal a = new Lizard("Lizzy", 6);  //Lizard extends Animal

Из того, что я понимаю, поскольку тип переменной - Animal, a будет иметь все характеристики Animal. Но, поскольку созданный объект является Lizard, любые переопределенные методы в классе Lizard будут использоваться вместо методов в классе Animal. Это правильно>

Кроме того, какой конструктор классов будет использоваться при создании?

Спасибо за любую помощь. Я выглядел довольно

Ответы на вопрос(3)

Ваш ответ на вопрос