クラス宣言時のfinalについて

final修飾子を付与してクラスを宣言するとそのクラスはサブクラスで継承できなくなります。

finalを使用する理由の一つとしてセキュリティ上の問題があります。
プログラムに不正動作を与えようとするハッカーたちの一つの手段としてあるクラスのサブクラスを作成し、そのサブクラスに不正な動作を行う処理を記述すると言うものがあります。
サブクラスを作成することにより、スーパークラスで想定される動作とはまったく異なる動作を行おうとするのです。

また、もう一つの理由としてオブジェクト設計の観点から、サブクラスを作る必要がないと明示的に> 宣言しておきたい場合にも使用します。

こちらのサイトに記載してありました。

Javaの道:クラス(12.final)