您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Java中的上/下流

Java中的上/下流

随着这一行的隐式上行:

Animal myAnimal = myDog;

您没有做任何更改基础实例的操作myDog。您正在做的就是将其分配给继承树中一级更高级别的变量。有效地,这限制了只能调用在中定义的方法Animal,而不会改变这些方法的解析方式。

由于您已将只能使用的方法限制为在父类上定义的方法Animal,因此编译器无法解析Dog#bark(),因为它是的方法Dog,并且变量myAnimal被定义为Animal没有#bark方法的类型。

#move()是两者的方法AnimalDog,所以它解决,但它解析为上定义的方法Dog中,由于myAnimal仍然是指的一个实例Dog,尽管是向上转型。

java 2022/1/1 18:27:55 有446人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶