Ответ
В интерфейсе можно декларировать:
- Абстрактные методы (без реализации)
- Константы (
public static finalполя) - Начиная с Java 8:
defaultметоды (с реализацией)staticметоды (с реализацией)
- Начиная с Java 9:
privateметоды (вспомогательные дляdefaultметодов)
Пример:
interface MyInterface {
int CONSTANT = 42; // public static final по умолчанию
void abstractMethod(); // абстрактный метод
default void defaultMethod() {
privateMethod();
}
static void staticMethod() {
System.out.println("Static method");
}
private void privateMethod() {
System.out.println("Private helper");
}
}