Каждый объект имеет тип (и значение) * Есть много типов:. Примитивные типы (как int
), типы классов (как string
), перечислений, массивы (и, возможно, я забываю некоторые).
Термин «интерфейс» относится к особому роду типа класса:. Это класс, который не имеет объектов члена (безопасные константы) и только публичные методы, все из которых являются абстрактными **
Итак: интерфейс - это особый класс, который, в свою очередь, является особым типом. Таким образом, интерфейсы являются типами. В вашем примере оба Animal
и Lion
являются типами, и один из них конвертируется в другой.
*) Непосредственно тип говорит: «Какова структура этого», а значение говорит «что такое содержание». Тип 5
является int
, и его значение ... ну, 5.
**) Это позволяет наследовать от нескольких интерфейсов , в то время как это не представляется возможным в Java, чтобы наследовать от множества общего классы.
Да, правильно, если предположить, что класс 'Lion' реализует интерфейс' Animal'. – aroth
Я не уверен, что вы ищете здесь. Ответ в настоящее время «да». –
Хорошо выглядит для меня. 1+ голосов –