Интерфейсы в Java - PullRequest
       1

Интерфейсы в Java

1 голос
/ 15 июня 2011

Итак, у меня есть класс cat, который реализует интерфейс Vocal, мне было интересно, почему, когда я создал ArrayList(Vocal) Я смог добавить к нему экземпляры cat?

Спасибо

Ответы [ 3 ]

6 голосов
/ 15 июня 2011

Это потому, что когда Cat реализует Vocal, это отношение IS-A: Cat IS-A Vocal.

Поскольку List<Vocal> принимает все, что является Vocal, добавление экземпляра Cat совершенно законно.

1 голос
/ 15 июня 2011

Да. Вы сможете добавить экземпляр любого класса, который объявлен для реализации Vocal.

0 голосов
/ 15 июня 2011

В вашем случае отношения будут точно такими же

Кошки тоже вокал.

Так вот почему вы смогли добавить массив CATS в Arraylist Vocal Type

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...