Ключевое слово interface вместо class.
Интерфейс — это контракт, описывающий возможности и функционал некой сущности.
А класс уже является реализацией этой сущности.
На stackoverflow есть объяснение интерфейсов "на пальцах".
Архитектор интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений.
Методы интерфейса имеют модификатор доступа только public
по умолчанию! По этому, ключевое слово public
упускается при объявлении метода в интерфейсе.
Но вот в его имплементациях слово public
должно быть в сигнатуре переопределяемых методов.
Интерфейс может содержать поля, но они автоматически являются статическими (static) и неизменными (final). Все методы и переменные неявно объявляются как public.
Класс, который собирается использовать определённый интерфейс, использует ключевое слово implements. Оно указывает, что класс будет имплементировать интерфейс(ы) названные за ключевым словом implements.
Если класс имплементирует интерфейс, но не полностью реализует определённые им методы, он должен быть объявлен как abstract.
Интерфейс не имплементирует любые другие интерфейсы. Но интерфейс может наследоваться от многих других интерфейсов (множественное наследование). Чего, кстати, не могут обычные классы. Полезный материал на эту тему. Исчезнувшие примеры из полезного материала: 1 и 2.
Interface Type - это суперинтерфейс для всех типов в языке программирования Java. Как Object
, но только интерфейс. Благодаря чему практически у любого поля или переменной можно вызвать .getClass().getTypeName()
.
Подумайте: чем имплементация интерфейса(ов) отличается от обычного наследования?
Вам ответят команда поддержки Хекслета или другие студенты.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
Наши выпускники работают в компаниях:
Зарегистрируйтесь или войдите в свой аккаунт