Back to questions
Junior — Middle
93
Объясните, что означает объявление класса как final в языке Java и чем оно отличается от обычного класса.
Answer from AI
sobes.tech AI
Объявление класса как 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 класс гарантирует, что его поведение останется неизменным через наследование.