Интерфейсы в Java предназначены только для объявления некоторых методов и констант. Никакие реализации методов в интерфейсах не предусматриваются. Т. е. интерфейс только содержит информацию о том, что методы с такими-то названиями в мнем существуют, но не содержит информации, как именно эти методы работают. Реализация же методов интерфейса будет содержаться в классах, которые этот интерфейс реализуют.
Интерфейсы вводятся ключевым словом interface. В объявлении же класса, реализующего некоторый интерфейс, после имени класса идет ключевое слово implements, после которого следует имя интерфейса или интерфейсов (класс может реализовывать несколько интерфейсов).
Вот примеры интерфейса для геометрической фигуры и 3-х классов конкретных герметрических фигур, реализующих этот интерфейс:
// Класс круга.publicclass Circle implements IFigure {
double radius;
public Circle(double radius){
this.radius = radius;
}
publicdouble square() {
return radius * radius * pi;
}
}
А вот использование указанного интерфейса и классов, его реализующих:
publicclass Test {
publicstaticvoid main(String[] args) {
Rect r = new Rect(2, 4);
System.out.println("Rect: " + r.square());
Triangle t = new Triangle(3, 4);
System.out.println("Triangle: " + t.square());
Circle c = new Circle(1);
System.out.println("Circle: " + c.square());
}
}
Обратите внимание, что каждый класс содержит метод square для вычисления площади. Этот метод обязан быть в каждом классе, так как он есть в интерфейсе, от которвх классы наследуются. Также обратите внимание, что в классе Circle мы использем константу pi из интерфейса. В других языках программирования объявление констант в интерфейсах не допускается.
Выведет программа естественно Rect: 8.0 Triangle: 6.0 и Circle: 3.1415.
PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru