【发布时间】:2016-10-27 21:48:58
【问题描述】:
具有以下类层次结构:
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 行:只有静态绑定与分配相关。
我说的对吗?你能解释一下吗?
【问题讨论】:
-
教练问你这个问题的目的是让你根据研究来回答。要求其他人为您回答不是研究。即使您发布自己的部分答案。
-
测试复习用
-
要添加到 TJ 的评论中,您可以尝试编译代码,然后查看失败的原因以及遇到的错误。
-
你是对的,它是 5。我不确定这里是否有有意义的答案,所以你可能想删除这个问题。毕竟,您的讲师可能对 Stack Overflow 并不陌生 :-)
-
我也说了第8行:是不是也对?
标签: java compiler-errors hierarchy