Last updated
Last updated
Интерфейсът изглежда като клас, но не е клас. Интерфейсът може да има методи и променливи точно като класа, но методите, декларирани в интерфейса, са по подразбиране абстрактни. Също така, променливите, декларирани в интерфейса, са public static final по подразбиране.
Тъй като методите в интерфейсите нямат тяло, те трябва да бъдат имплементирани от клас, преди да се достъпват. Класът, който реализира интерфейса, трябва да имплементира всички методи на този интерфейс. В Java не е позволено наследяване на повече от един клас, но можете да се имплементират повече от един интерфейс от един клас.
Празният интерфейс е известен като интерфейс за етикет или маркер. Например Serializable, EventListener, Remote(java.rmi.Remote) са интерфейси на маркери. Тези интерфейси нямат поле и методи в себе си. Прочетете повече за това тук.
Не можем да инстанцираме интерфейс в java. Това означава, че не можем да създадем обект на интерфейс
Интерфейсът осигурява пълна абстракция, тъй като никой от неговите методи няма тяло.
implements ключовата дума се използва от класовете за имплементиране на интерфейс.
За да се осигурява реализация в клас на всеки метод от интерфейс то метода трябва да бъде публичен.
Класът, който имплементира интерфейс, трябва да имплементира всички методи на този интерфейс, в противен случай класът трябва да бъде абстрактен.
Интерфейсът не може да бъде деклариран като private, protected.
Всички методи на интерфейса по подразбиране са абстрактни и публични.
Променливите, декларирани в интерфейса, са public, static and final по подразбиране.