Javaの予約語の一つで、さまざまな「終端」を意味する。
クラス定義に用いれば、このクラスを継承することを禁止する。
メソッドに用いれば、このメソッドをサブクラスでオーバーライドすることを禁止する。
変数に用いれば、一度オブジェクトを代入したあと、他のオブジェクトを代入することを禁止する。他のオブジェクトを参照できなくなるだけであり、オブジェクトが状態を持つものであれば、その状態は変わりうる。