首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >List <Dog>是List <Animal>的一个子类吗?为什么不是Java的泛型隐式多态?

List <Dog>是List <Animal>的一个子类吗?为什么不是Java的泛型隐式多态?

提问于 2017-12-20 10:27:26
回答 2关注 0查看 662

"对Java泛型如何处理继承/多态性有些困惑。

假设以下层次结构 -

动物(家长)

狗 - 猫(儿童)

所以假设有一个方法doSomething(List<Animal> animals)。通过继承和多态的所有规则,假设List<Dog> 是一个List<Animal>和List<Cat> 是一个List<Animal>-所以任何一个可以传递给此方法。不是这样。如果想实现这个行为,必须明确地告诉方法接受动物的任何子集的列表说doSomething(List<? extends Animal> animals)。"

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档