Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие Java .pdf
Скачиваний:
132
Добавлен:
16.03.2015
Размер:
1.32 Mб
Скачать

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

К числу интерфейсов-маркеров, помимо упомянутого Cloneable, относится также интерфейс Serializable. Пустые интерфейсы способны оказывать серьёзное влияние на поведение производных классов – вспомните, например, о Cloneable.

5.10 Абстрактный класс или интерфейс?

Существует два главных различия между интерфейсами и абстрактными классами.

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

Абстрактный класс частично может быть реализован, он вправе содержать члены, помеченные как protected, и/или static и т.п. Структура интерфейса ограничена объявлениями публичных

констант и методов, без какой бы то ни было реализации. Указанные различия обычно обусловливают выбор средств, наи-

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

172

Соседние файлы в предмете Программирование на Java