implements
Указывает интерфейсы, которые реализует класс.
Доступно с: Java 1.0
Синтаксис
class Name implements Interface1, Interface2 { … }Примеры
Класс реализует Comparable и может сортироваться:
class Task implements Comparable<Task> {
String title;
int priority;
Task(String title, int priority) {
this.title = title;
this.priority = priority;
}
@Override
public int compareTo(Task other) {
return Integer.compare(priority, other.priority);
}
@Override
public String toString() {
return title;
}
}
void main() {
var tasks = new ArrayList<>(List.of(new Task("deploy", 3), new Task("test", 1)));
Collections.sort(tasks);
IO.println(tasks);
}Результат:
[test, deploy]Примечания
Если класс не реализовал какой-то метод интерфейса, компилятор сообщит «Task is not abstract and does not override abstract method compareTo(Task) in Comparable». Одновременно с наследованием пишут сначала extends, потом implements.
См. также
- interface — Объявляет интерфейс — набор методов, которые обязуется реализовать класс.
- extends — Объявляет наследование: класс получает поля и методы родителя.
- Comparable.compareTo() — Задаёт естественный порядок объектов класса — по нему работают sort() и TreeSet.
В учебнике
- Интерфейсы — Интерфейсы в Java: implements, несколько интерфейсов у одного класса, интерфейс как тип и методы по умолчанию.