Интерфейс в Java с Пример
⚡ Умно обобщение
Интерфейс в Java е коремtract тип, който определя поведението, което класът трябва да реализира, съдържащ константи и abstract методи. Този ресурс обяснява какво е интерфейс, защо е необходим, как да се декларира и имплементира такъв и как интерфейсите се различават от класовете и abs.tracт класове.
Какво е интерфейс в Java?
An Интерфейс в Java езикът за програмиране се дефинира като ABStract тип, използван за определяне на поведението на клас. A Java интерфейсът съдържа статични константи и abstract методи. Един клас може да реализира множество интерфейси. В Java, интерфейсите се декларират с помощта на ключовата дума interface. Всички методи в интерфейса са имплицитно публични и не саtract.
Синтаксис за деклариране на интерфейс
За да използвате интерфейс във вашия клас, добавете ключовата дума „implements“ след името на класа, последвана от името на интерфейса.
interface { // methods }
Пример за прилагане на интерфейс
Сега, нека разберем интерфейсите в Java с пример:
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
Кликнете тук ако видеото не е достъпно.
Кликнете тук ако видеото не е достъпно
Защо е необходим интерфейс?
За да се разбере използването на интерфейс в Java по-добре, нека разгледаме едно Java пример за интерфейс. Класът „Медиен плейър“ има два подкласа: CD плейър и DVD плейър. Всеки от тях има свой собствен уникален метод за имплементация на интерфейс за възпроизвеждане на музика.
Друг клас, „Combo drive“, наследява както CD, така и DVD (вижте изображението по-долу). Кой метод на възпроизвеждане трябва да наследи? Това може да причини сериозни проблеми с дизайна и следователно, Java не позволява множество наследство.
Сега нека вземем друг пример с куче.
Да предположим, че имате изискване, при което класът „куче“ наследява класовете „животно“ и „Домашен любимец“ (вижте изображението по-долу). Но не можете да разширите два класа в JavaИ така, какво бихте направили? Решението е интерфейс.
Правилникът за интерфейс гласи:
- A Java интерфейсът е 100% ABStract клас и има само коремни мускулиtracт методи.
- Един клас може да имплементира произволен брой интерфейси.
Класът Dog може да разшири класа „Animal“ и да имплементира интерфейса „Pet“.
Java Пример за интерфейс
Нека разберем интерфейса на програмата по-долу Java:
Стъпка 1) Копирайте следния код в редактор.
interface Pet { public void test(); } class Dog implements Pet { public void test() { System.out.println("Interface Method Implemented"); } public static void main(String args[]) { Pet p = new Dog(); p.test(); } }
Стъпка 2) Запазете, компилирайте и изпълнете кода. Наблюдавайте резултата от интерфейса в Java програма.
Разлика между клас и интерфейс
| клас | Interface |
|---|---|
| В един клас можете да създавате инстанции на променливи и да създавате обект. | В интерфейс не можете да създавате инстанции на променливи или обекти. |
| Класът може да съдържа конкретни (с имплементация) методи. | Интерфейсът не може да съдържа конкретни (с имплементация) методи. |
| Спецификаторите за достъп, използвани с класовете, са private, protected и public. | В един интерфейс се използва само един спецификатор – public. |
Кога да използвате Interface и AbstracКлас т?
- Използвайте коремни мускулиtract клас, когато трябва да се дефинира шаблон за група подкласове.
- Използвайте интерфейс, когато е необходимо да се дефинира роля за други класове, независимо от дървото на наследяване на тези класове.
Трябва да знаете факти за интерфейса
- A Java клас може да реализира множество Java интерфейси. Необходимо е класът да имплементира всички методи, декларирани в интерфейсите.
- Един клас трябва да отмени всички коремни мускулиtract методи, декларирани в интерфейса.
- Интерфейсът позволява изпращането на съобщение до обект, без значение към кой клас принадлежи.
- Класът трябва да предоставя функционалност за методите, декларирани в интерфейса.
- Всички методи в интерфейса са имплицитно публични и не са явни.tract.
- Интерфейсът не може да бъде инстанциран.
- Интерфейсната препратка може да сочи към обекти на своите имплементиращи класове.
- Един интерфейс може да се разшири от един или много интерфейси. Един клас може да разшири само един клас, но да имплементира произволен брой интерфейси.
- Един интерфейс не може да имплементира друг интерфейс. Той трябва да разшири друг интерфейс, ако е необходимо.
- Интерфейс, който е деклариран вътре в друг интерфейс, се нарича вложен интерфейс.
- В момента на декларирането, интерфейсната променлива трябва да бъде инициализирана. В противен случай компилаторът ще генерира грешка.
- Един клас не може да имплементира два интерфейса в Java които имат методи с едно и също име, но с различен тип връщане.





