Назад к вопросам
СБЕР
Junior — Middle
64
Может ли интерфейс, определяющий функциональность, содержать реализации методов по умолчанию, включая анонимные и именнованные?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Да, начиная с Java 8 интерфейсы могут содержать методы с реализацией по умолчанию — так называемые default методы. Это позволяет добавлять новую функциональность в интерфейсы без нарушения существующих реализаций.
Пример default метода в интерфейсе:
public interface MyInterface {
void existingMethod();
default void newDefaultMethod() {
System.out.println("Default implementation");
}
}
Что касается анонимных и именованных методов — в интерфейсе нельзя объявлять анонимные методы, но можно использовать лямбда-выражения и ссылки на методы при реализации интерфейса. Default методы — это именно методы с реализацией внутри интерфейса, а не анонимные функции.
Таким образом, интерфейс может содержать реализации методов по умолчанию, но не анонимные методы как таковые.