Встречается на собеседованиях • сегодня

Какие знаешь особенности интерфейса

В Java интерфейс — это абстрактный тип, определяющий контракт для классов. Особенности:

  1. Все методы по умолчанию public abstract (до Java 8)
java
interface Flyable {
    void fly(); // public abstract по умолчанию
}
  1. Могут содержать константы (public static final по умолчанию)
java
interface Constants {
    int MAX_SPEED = 100; // public static final
}
  1. С Java 8: default и static методы
java
interface Loggable {
    default void log(String msg) { // реализация по умолчанию
        System.out.println(msg);
    }
    
    static void printVersion() {
        System.out.println("1.0");
    }
}
  1. С Java 9: private методы (для внутренней организации кода)

  2. Поддержка множественного наследования (класс может реализовывать несколько интерфейсов)

  3. Функциональные интерфейсы (с одним абстрактным методом, могут использоваться с лямбдами)

Интерфейсы не могут содержать конструкторов, полей (кроме констант) и не могут быть инстанциированы напрямую.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы