Имея следующую иерархию классов:Иерархия классов JAVA: какая из следующих строк не будет компилироваться?
Interface Animal {…}
class Dog implements Animal{…}
class Poodle extends Dog {…}
class Labrador extends Dog {…}
Какие из следующих строк не будет собирать?
Poodle poodle = new Poodle(); //1
Animal animal = (Animal) poodle; //2
Dog dog = new Labrador(); //3
animal = dog; //4
poodle = dog; //5
Animal labrador = new Labrador(); //6
Dog dog2 = new Labrador(); //7
dog 2=labrador;//8
Я думаю, что линия 5: из-за статического связывания пуделя и собаки.
Строка 8: для назначения присваивается только статическая привязка.
Я прав? Можете ли вы дать объяснение?
Точка инструктора, задающая вам этот вопрос, предназначена для ** вы **, чтобы ответить на него, основываясь на исследованиях. Попросить других людей ответить на него за вас - это не исследование. Даже если вы публикуете свой собственный частичный ответ. –
для проверки теста – student
Чтобы добавить комментарий к TJ, вы можете попробовать скомпилировать код, а затем посмотреть, что происходит, и какая ошибка вы получаете. –