Sobes.tech
Junior — Middle

Leg uit wat het betekent om een klasse als final te declareren in Java en hoe het zich onderscheidt van een gewone klasse.

sobes.tech AI

Antwoord van 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 класс гарантирует, что его поведение останется неизменным через наследование.