Можно ли задавать методам интерфейса модификатор private или protected? Если да то зачем?
Начиная с Java 8 интерфейсы стали поддерживать реализации методов по умолчанию, а так же статические методы. В Java 9 была добавлена поддержка приватных private
и приватных статических private static
методов, которые могут вызываться из реализаций методов по умолчанию и из статических методов внутри интерфейсов соответственно. Методы с доступом protected
и default
интерфейсами не поддерживаются. Всё таки интерфейсы должны оставаться интерфейсами.
Пример использования private
и private static
методов в интерфейсе:
public interface MyInterface {
// начиная с Java 8
default String getName() {
return getClass().getName() + " at " + getDate();
}
// начиная с Java 9
private String getDate() {
return new Date().toString();
}
// начиная с Java 8
static String getStaticName() {
return MyInterface.class.getName() + " at " + getStaticDate();
}
// начиная с Java 9
private static String getStaticDate() {
return new Date().toString();
}
}
public class MyClass implements MyInterface {
//
}
public class MainClass {
public static void main(String[] args) {
MyClass myClass = new MyClass();
System.out.println(myClass.getName());
System.out.println(MyInterface.getStaticName());
}
}
Можно с Java 9. Сравнение 7, 8 и 9 жавы
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуй сообщество, вопрос прост почему данная функция отрабатывает не так как нужноВроде бы должно всё игнорировать так как я добавил...
Коллеги, написал телеграм бота и хочу развернуть его на heroku, что нужно прописать в ProcFile? Проект написан на Java как консольное приложение
Крашится при взаимодейстии именно с вот этим кодомВсе компоненты объявлены и присутствуют на XML-разметке