Junior — Middle
Est-il possible d'avoir des méthodes privées avec une implémentation concrète à l'intérieur d'une interface dans un langage de programmation?
sobes.tech IA
Réponse de l'IA
В Java начиная с версии 9 в интерфейсах появились приватные методы с конкретной реализацией. Они используются для того, чтобы избежать дублирования кода между методами по умолчанию (default methods) внутри интерфейса. Приватные методы не видны вне интерфейса и не могут быть переопределены в классах, которые его реализуют.
Пример:
public interface MyInterface {
default void defaultMethod1() {
commonLogic();
System.out.println("Default Method 1");
}
default void defaultMethod2() {
commonLogic();
System.out.println("Default Method 2");
}
private void commonLogic() {
System.out.println("Общая логика для default методов");
}
}