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

Что означает final над созданным классом и интерфейсом

Класс с модификатором final нельзя наследовать. Это полезно для создания неизменяемых классов или когда нужно запретить расширение функциональности. Пример:

java
final class ImmutableClass {
    private final int value;
    
    public ImmutableClass(int value) {
        this.value = value;
    }
    
    public int getValue() {
        return value;
    }
}
// Ошибка компиляции:
// class Child extends ImmutableClass {}

Для интерфейсов final не применяется - интерфейсы по определению предназначены для реализации. Попытка объявить интерфейс как final вызовет ошибку компиляции:

java
// Ошибка:
// final interface MyInterface {}

Основные случаи использования final для классов:

  • Безопасность (предотвращение подмены класса)
  • Неизменяемость
  • Оптимизация (JVM может делать дополнительные предположения)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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