gpt4 book ai didi

java - 为什么 Java 枚举不能是最终的?

转载 作者:IT老高 更新时间:2023-10-28 20:36:49 44 4
gpt4 key购买 nike

public interface Proposal  {  
public static final enum STATUS {
NEW ,
START ,
CONTINUE ,
SENTTOCLIENT
};
}

Java 不允许枚举在接口(interface)内是 final,但默认情况下,接口(interface)内的每个数据成员都是 public static final。有人可以澄清一下吗?

最佳答案

Java 不允许您创建扩展 enum 类型的类。因此,枚举本身总是最终的,所以使用 final 关键字是多余的。

当然,从某种意义上说,enum 并不是最终的,因为您可以为枚举描述符中的每个字段定义一个匿名子类。但是使用 final 关键字来阻止这些类型的描述没有多大意义,因为人们必须在同一个 .java 文件中创建这些子类,任何有权这样做的人都可以就像删除 final 关键字一样容易。没有人在其他包中扩展您的枚举的风险。

关于java - 为什么 Java 枚举不能是最终的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9891613/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com