Статические методы интерфейса в Java
Статический метод в интерфейсе принадлежит самому интерфейсу,
а не объектам классов-реализаций. Его объявляют с модификатором
static и вызывают через имя интерфейса, без создания
экземпляра. Объявление выглядит так:
interface MathUtils {
static int square(int num) {
return num * num;
}
}
Вызов идёт по имени интерфейса, как у статических методов класса:
int res = MathUtils.square(5);
System.out.println(res);
Класс, реализующий интерфейс, не наследует статический метод и не может вызвать его как свой. Удобная проверка заголовка записи может жить прямо в контракте:
interface PostValidator {
static boolean isTitleNonEmpty(String title) {
return title != null && !title.isEmpty();
}
}
Статический метод интерфейса может обращаться к другим
статическим членам того же интерфейса, в том числе
к константам и к другим static-методам.
Сделайте интерфейс EmployeeValidator со
статическим методом isSalaryPositive,
который возвращает true, если зарплата
больше нуля.
В main вызовите EmployeeValidator.isSalaryPositive(1000)
и выведите результат.