Junior — Middle
Објасните шта значи да се класа прогласи за финал у Јави и како се разликује од обичне класе.
sobes.tech АИ
Одговор од АИ
Объявление класса как final в Java означает, что этот класс нельзя наследовать — то есть нельзя создать подкласс от этого класса. Это отличается от обычного класса, который можно расширять и создавать на его основе новые классы.
Основные особенности final класса:
- Запрещает наследование, что помогает защитить реализацию от изменений.
- Может использоваться для повышения безопасности и производительности (компилятор может оптимизировать вызовы методов).
- Часто применяется для классов, которые не предполагается расширять, например,
String.
Пример:
public final class ImmutableClass {
private final int value;
public ImmutableClass(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
// Попытка наследования вызовет ошибку компиляции:
// public class SubClass extends ImmutableClass {} // Ошибка
Таким образом, final класс гарантирует, что его поведение останется неизменным через наследование.