为什么 Java 枚举不能是最终的?
public interface Proposal  {  
    public static final enum STATUS { 
        NEW ,
        START ,
        CONTINUE ,
        SENTTOCLIENT
    }; 
}
Java 不允许枚举位于接口内,但缺省情况下,接口内的每个数据成员都是 。任何人都可以澄清这一点吗?finalpublic static final
public interface Proposal  {  
    public static final enum STATUS { 
        NEW ,
        START ,
        CONTINUE ,
        SENTTOCLIENT
    }; 
}
Java 不允许枚举位于接口内,但缺省情况下,接口内的每个数据成员都是 。任何人都可以澄清这一点吗?finalpublic static final
Java 不允许您创建扩展类型的类。因此,枚举本身始终是最终的,因此使用关键字是多余的。enumfinal
当然,从某种意义上说,s 不是最终的,因为您可以为枚举描述符中的每个字段定义一个匿名子类。但是,使用关键字来阻止这些类型的描述没有多大意义,因为人们必须在同一.java文件中创建这些子类,并且任何有权这样做的人都可以很容易地删除关键字。不存在有人在其他软件包中扩展您的枚举的风险。enumfinalfinal