フィールドやメソッドには、以下のようなさまざまな修飾子を付けることができます。
final
最終的なものであり、変更できないことを表す。クラスやインターフェースなら拡張できなことを表す。インスタンスフィールドやクラスフィールドなら定数であることを表す。メソッドなら上書き定義(オーバーライド)することをきんしする。
abstract
抽象クラスや抽象メソッドであることを表す。
static
クラスフィールドやクラスメソッドであることを表す。
synchronized
synchronizedメソッドであることを表す。
native
Java言語以外の言語(C言語やC++言語)で書かれたメソッド(ネイティブメソッドであることを表す。
この他にも、アクセス制御を行うpubic、protected、private修飾子があります。