Запрет наследования класса в Java
Класс, помеченный final, нельзя объявить родителем
другого класса. Так фиксируют тип, который не должен
получать подклассы - например, значение настроек приложения.
Финальный класс объявляют так:
final class AppSettings {
}
// class ExtendedSettings extends AppSettings { } // error
Обычный класс без final можно расширять. После
добавления final к объявлению родителя строка
с extends у потомка перестаёт компилироваться:
final class Post {
}
// class Article extends Post { } // error
Объявите класс AppSettings
с модификатором final.
Попробуйте объявить класс-наследник
от класса AppSettings и убедитесь,
что код не компилируется.