Что такое интерфейс в Java:как реализовать интерфейс на примере
Что такое интерфейс в Java?
Интерфейс на Java язык программирования определяется как абстрактный тип, используемый для указания поведения класса. Интерфейс Java содержит статические константы и абстрактные методы. Класс может реализовывать несколько интерфейсов. В Java интерфейсы объявляются с помощью ключевого слова interface. Все методы в интерфейсе неявно общедоступны и абстрактны.
Теперь мы узнаем, как использовать интерфейс в Java.
Синтаксис для объявления интерфейса
Чтобы использовать интерфейс в своем классе, добавьте ключевое слово «implements» после имени вашего класса, за которым следует имя интерфейса.
01
Пример реализации интерфейса
Теперь давайте разберемся с интерфейсом в Java на примере:
10пре>28
Нажмите здесь, если видео недоступно
Зачем нужен интерфейс?
Чтобы лучше понять использование интерфейса в Java, давайте посмотрим на пример интерфейса Java. Класс «Медиаплеер» имеет два подкласса:проигрыватель компакт-дисков и проигрыватель DVD. Каждый из них имеет свою уникальную реализацию интерфейса в методе Java для воспроизведения музыки.
Другой класс «Combo drive» наследует как CD, так и DVD (см. изображение ниже). Какой метод воспроизведения он должен наследовать? Это может вызвать серьезные проблемы с дизайном. Следовательно, Java не допускает множественного наследования.
Теперь давайте возьмем другой пример собаки.
Предположим, у вас есть требование, в котором класс «собака» наследует классы «животное» и «домашнее животное» (см. изображение ниже). Но вы не можете расширить два класса в Java. Так что бы вы сделали? Решение — интерфейс.
В своде правил для интерфейса сказано:
- Интерфейс реализации Java представляет собой 100% абстрактный класс и имеет только абстрактные методы.
- Класс может реализовать любое количество интерфейсов.
Класс Dog может расширяться до класса «Животное» и реализовывать интерфейс как «Домашнее животное».
Пример интерфейса Java:
Давайте разберемся с приведенной ниже интерфейсной программой на Java:
Шаг 1) Скопируйте следующий код в редактор.
32
Шаг 2) Сохраните, скомпилируйте и запустите код. Наблюдайте за выводом интерфейса в программе Java.
Разница между классом и интерфейсом
В классе вы можете создать экземпляр переменной и объект. | В интерфейсе нельзя создать экземпляр переменной и создать объект. |
Класс может содержать конкретные (с реализацией) методы | Интерфейс не может содержать конкретные (с реализацией) методы |
Спецификаторы доступа, используемые с классами, бывают закрытыми, защищенными и общедоступными. | В интерфейсе используется только один спецификатор — Public. |
Когда использовать интерфейс и абстрактный класс?
- Используйте абстрактный класс, когда необходимо определить шаблон для группы подклассов
- Используйте интерфейс, когда необходимо определить роль для других классов, независимо от дерева наследования этих классов
Необходимо знать факты об интерфейсе
- Класс Java может реализовывать несколько интерфейсов Java. Необходимо, чтобы в классе были реализованы все методы, объявленные в интерфейсах.
- Класс должен переопределять все абстрактные методы, объявленные в интерфейсе.
- Интерфейс позволяет отправлять сообщение объекту независимо от того, к каким классам он принадлежит.
- Класс должен обеспечивать функциональность для методов, объявленных в интерфейсе.
- Все методы в интерфейсе неявно общедоступны и абстрактны
- Невозможно создать экземпляр интерфейса
- Ссылка на интерфейс может указывать на объекты реализующих его классов
- Интерфейс может расширяться из одного или нескольких интерфейсов. Класс может расширять только один класс, но реализовывать любое количество интерфейсов
- Интерфейс не может реализовать другой интерфейс. При необходимости он должен расширить другой интерфейс.
- Интерфейс, объявленный внутри другого интерфейса, называется вложенным интерфейсом.
- Во время объявления переменная интерфейса должна быть инициализирована. В противном случае компилятор выдаст ошибку.
- Класс не может реализовать два интерфейса в Java, которые имеют методы с одинаковыми именами, но разными типами возвращаемого значения.
Обзор :
- Класс, реализующий интерфейс, должен предоставлять функциональные возможности для методов, объявленных в интерфейсе
- Все методы в интерфейсе неявно общедоступны и абстрактны
- Невозможно создать экземпляр интерфейса
- Ссылка на интерфейс может указывать на объекты реализующих его классов
- Интерфейс может расширяться из одного или нескольких интерфейсов. Класс может расширять только один класс, но реализовывать любое количество интерфейсов
java
- Java-интерфейс
- Учебное пособие по абстрактному классу C # с примером:что такое абстракция?
- Что такое интерфейс в C# с примером
- Метод String Length() в Java:как найти на примере
- Метод Java String charAt() с примером
- Метод Java String endWith() с примером
- Интерфейс против абстрактного класса в Java:в чем разница?
- Java BufferedReader:как читать файл в Java с примером
- Алгоритм сортировки вставками в Java с примером программы
- Java — Интерфейсы