Sobes.tech
Junior — Middle
82

Czy możliwe jest posiadanie prywatnych metod z konkretną implementacją w interfejsie w języku programowania?

Firmy, w których zadano pytania
Effective Mobile

Odpowiedź od AI

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