Java ではインターフェース変数がデフォルトで static かつ final なのはなぜですか?
ベストアンサー1
Philip Shaw による Java インターフェース設計に関する FAQ より:
インターフェース変数は静的です。Java インターフェースはそれ自体ではインスタンス化できないためです。変数の値は、インスタンスが存在しない静的コンテキストで割り当てる必要があります。final 修飾子により、インターフェース変数に割り当てられた値が、プログラム コードによって再割り当てできない真の定数であることが保証されます。