Polimorfizm Java tworzący obiekt podklasy przy użyciu zmiennej nadklasy

Jestem studentem i uczę się języka Java. Jest jedna koncepcja, że ​​mam trudny czas chwytania się i mam nadzieję, że ktoś może rzucić na mnie trochę światła. Moje pytanie dotyczy polimorfizmu. Powiedzmy na przykład, że mam następujący kod.

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

Z tego, co rozumiem, ponieważ typ zmiennej to Animal, a będzie miał wszystkie cechy zwierzęcia. Ale ponieważ utworzonym obiektem jest Lizard, wszelkie zastąpione metody w klasie Lizard będą używane zamiast tych w klasie Animal. Czy to poprawne>

Ponadto, który konstruktor klas będzie używany podczas tworzenia?

Dzięki za pomoc. Wyglądałem dość

questionAnswers(3)

yourAnswerToTheQuestion