Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvOpIfInr 63 of 147 menu
◀ ▶

Введение в интерфейсы в Java

Интерфейс задаёт контракт: какие команды должен уметь объект, если класс его реализует. В интерфейсе перечисляют сигнатуры методов без привязки к полям конкретного класса.

Абстрактный класс тоже может требовать реализации методов у потомков, но обычно хранит общее состояние и готовый код. Интерфейс описывает поведение снаружи: «умеет публиковаться», «умеет сохранять черновик», «умеет показывать превью».

В Java интерфейс объявляют словом interface вместо class. Экземпляр интерфейса создать нельзя - нужен класс, который закроет все обязательные члены контракта. Минимальный контракт выглядит так:

interface Publishable { void publish(); }

Класс подключает интерфейс словом implements и помечает реализацию аннотацией @Override. Термин «реализует» здесь уместнее, чем «наследует»: интерфейс не хранит данные сам по себе, а навешивает на тип набор обязанностей. Пример реализации:

class Post implements Publishable { @Override public void publish() { System.out.println("published"); } }

Один класс может реализовать несколько интерфейсов, а сами интерфейсы могут наследовать друг друга через extends. В интерфейсе также допустимы константы, методы с телом default и статические методы.

Дальше раздел пройдёт по шагам: объявление интерфейса, реализация в классе, методы и константы, default и static, несколько интерфейсов, наследование контрактов и проверка типа оператором instanceof.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить