Лекция: Маркерные интерфейсы

В Java есть некоторые интерфейсы, которые не содержат методов для реализации, а специальным образом обрабатываются JVM. Это интерфейсы:

java.lang.Cloneable

java.io.Serializable

java.rmi.Remote

 

С помощью интерфейсов можно частично решить проблему множественного наследования объектов. Интерфейсы — это своего рода неполные классы: у них отсутствуют переменные представителей, а методы интерфейсов не могут содержать тела. Объявление интерфейса совершается с помощью слова interface:

interface имя_интерфейса { тип имя_метода1 (тип формальная_переменная1, тип формальная_переменная2...)… тип имя_метода2 (тип формальная_переменная1, тип формальная_переменная2...) тип имя_переменной_типа_final1 = значение;… тип имя_переменной_типа_final2 = значение;}

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

interface myfirstinterface { final int x = 4; boolean method1 (int k);}

Теперь, чтобы использовать интерфейс в нашем классе нужно воспользоваться оператором implements:

class MyFirstApplet extends java.applet.Applet implements myfirstinterface {

В отличие от суперклассов количество интерфейсов в вызове класса неограниченно. При их вызове из класса нужно не забывать разделять их запятыми.

Аналогично классам и методам существуют встроенные Java-интерфейсы. Характерный пример использования встроенных интерфейсов — обработка событий: нажатие клавиши, кнопки мыши или движение мыши. Обработку событий производят слушатели событий. Для их вызова будем использовать интерфейсы:

class GraphicConvey extends java.applet.Applet implements MouseListener, MouseMotionListener {

 


еще рефераты
Еще работы по информатике