Встречается на собеседованиях • сегодня
Почему нельзя сделать поля класса финальными
Финальные поля в Java инициализируются один раз и не могут быть изменены после этого. Однако, их нельзя сделать финальными по умолчанию, потому что:
- Гибкость – не все поля должны быть неизменяемыми. Например, состояние объекта может меняться в процессе работы.
- Ленивая инициализация – иногда поля инициализируются не в конструкторе, а позже (например, через сеттеры или ленивые вычисления).
- Наследование – если класс наследуется, дочерний класс может захотеть изменить поле.
Пример:
java
class Example {
private final int immutableValue; // Должен быть инициализирован в конструкторе
private int mutableValue; // Может изменяться
public Example(int value) {
this.immutableValue = value;
}
public void setMutableValue(int value) {
this.mutableValue = value; // Без final можно изменять
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы