public interface Proposal {
public static final enum STATUS {
NEW ,
START ,
CONTINUE ,
SENTTOCLIENT
};
}
Javaでは、インターフェイス内で列挙型をfinal
にすることはできませんが、デフォルトでは、インターフェイス内のすべてのデータメンバーはpublic static final
です。誰かがこれを明確にすることはできますか?Java enumを最終的に使用できないのはなぜですか?
「最終的ではない」列挙型が何らかの形でサブクラス化できると思いますか? –
私は列挙型がサブクラス化できないことを知っていませんでしたが、Javaはインターフェイスの定数から最終的なものを書くことができますが、enumの前ではありません。 –
class/interface(そして、原則として列挙型)の定義とmember * field *の定義(これは通常は定数がインターフェイスにある)との間で、 'final'がどのように使用されるかには大きな違いがあります。 1つはサブクラス性に影響し、もう1つは変更可能性に影響します。 –