Sobes.tech
Junior — Middle
89

¿Es posible tener métodos privados con una implementación concreta dentro de una interfaz en un lenguaje de programación?

Empresas donde se preguntó
Effective Mobile

Respuesta de la IA

sobes.tech AI

В 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 методов");
    }
}