所以我有一个实现接口cat
的类Vocal
,我想知道为什么当我
创建了ArrayList(Vocal)
我能够将cat
的实例添加到其中吗?
谢谢
答案 0 :(得分:6)
这是因为当Cat
实施Vocal
时,它是一种IS-A关系:Cat
IS-A Vocal
。
由于List<Vocal>
接受Vocal
的任何内容,因此添加Cat
的实例是完全合法的。
答案 1 :(得分:1)
是。您将能够添加声明为实现Vocal
的任何类的实例。
答案 2 :(得分:0)
在您的情况下,关系将完全相同
Cats也是一个声乐。
这就是你能够在声乐类型Arraylist中添加CATS的arraylist的原因