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

Несколько интерфейсов в Java

Класс в Java может иметь только одного родителя-класса, но любое количество интерфейсов. Имена перечисляют через запятую после implements. Пример двух контрактов у одного класса:

interface Drawable { void draw(); } interface Movable { void move(); } class Sprite implements Drawable, Movable { @Override public void draw() { System.out.println("draw"); } @Override public void move() { System.out.println("move"); } }

Каждый интерфейс добавляет свой набор обязательных методов. Класс должен реализовать их все, иначе объявление останется неполным.

Если два интерфейса объявляют метод с одинаковой сигнатурой, в классе достаточно одного @Override. Когда оба родителя дают default-реализацию с одним именем, нужно явно выбрать, какую вызвать, через ИмяИнтерфейса.super:

interface A { default void report() { System.out.println("A"); } } interface B { default void report() { System.out.println("B"); } } class Both implements A, B { @Override public void report() { A.super.report(); B.super.report(); } }

Сделайте интерфейсы Readable с методом read и Writable с методом write.

Сделайте класс Document, реализующий оба интерфейса: Readable и Writable.

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