Расширение интерфейса в java



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

public interface SerializableRunnable

extends java.io.serializable, Runnable

{

// …

}

Интерфейс SerializableRunnable одновременно наследует интерфейсы java.io.Serializable и Runnable. Это означает, что все методы и константы, определенные в каждом унаследованном интерфейсе, становятся, наряду с собственными методами и константами, частью контракта нового интерфейса SerializableRunnablе. Наследуемые интерфейсы называют базовыми (superinterfaces) по отношению к новому интерфейсу, который, в свою очередь, является производным (subinterface), или расширенным, интерфейсом относительно базовых.

Поскольку интерфейсы поддерживают модель множественного наследования, граф, представляющий соответствующую иерархию типов, способен содержать целый ряд циклов или путей, имеющих отношение к одному и тому же базовому интерфейсу. Это значит, что доступ к константам и методам базового интерфейса Может быть получен несколькими способами. Однако, поскольку интерфейсы не содержат блоков реализации и полей экземпляров, модель множественного наследования в этом случае не таит в себе каких бы то ни было "подводных камней".

 



Дата добавления: 2015-12-21; просмотров: 21; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!