Использование ключевого слова final для предотвращения наследования

Иногда будет требоваться предотвратить наследование класса. Для этого в начале объявления класса необходимо поместить ключевое слово final. Объявление класса как final неявным образом объявляет все его методы также как final. Как легко догадаться, одновременное объявление класса как abstract и как final недопустимо, поскольку абстрактный класс принципиально является незавершенным и только его подклассы предоставляют полную реализацию методов.

Ниже приведен пример класса типа final.

final class А {
// ...
}
// Следующий класс недопустим.
class В extends А {
// ОШИБКА! Класс А не может иметь подклассы.
// ...
}

Как видно из комментария, класс в не может наследовать от класса А, поскольку А объявлен как final.