2011-06-15 61 views
1

所以我有一個類cat它實現了一個接口Vocal,我想知道爲什麼當我 創建一個ArrayList(Vocal)我能夠的cat實例添加到它?接口在Java中

謝謝你

+0

看看協方差,因爲這是怎麼在這裏的原因。 – Suroot 2011-06-15 04:13:17

回答

1

是的。您將能夠添加一個聲明爲實現Vocal的任何類的實例。

6

這是因爲當Cat落實Vocal這是一個IS-A關係:Cat IS-A Vocal

由於List<Vocal>接受任何是Vocal的東西,所以添加Cat的實例是完全合法的。

0

在你的情況下,關係將是完全一樣的

貓也是一個聲樂。

所以這是你能添加CATS的ArrayList的聲樂ArrayList類型