Enum类中为什么构造函数必须是私有的

枚举被设计成是单例模式,即枚举类型会由JVM在加载的时候,实例化枚举对象,你在枚举类中定义了多少个就会实例化多少个,JVM为了保证每一个枚举类元素的唯一实例,是不会允许外部进行new的,所以会把构造函数设计成private,防止用户生成实例,破坏唯一性。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,enum是一种特殊的,用于定义一组常量。通过使用enum关键字,我们可以在一个enum类中添加多个枚举。 enum是一种高级数据型,它可以包含固定数量的元素,这些元素代表一组相关的常量。每个枚举元素都是enum的一个实例,并且具有唯一的名称。 为了添加枚举,我们可以在enum的声明中使用逗号将枚举元素分隔开来。每个枚举元素就像是一个常量,可以给它们一个名称。下面是一个示例: ``` enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } ``` 在这个例子中,我们创建了一个名为Day的enum,并添加了七个枚举元素,分别代表一周中的每一天。 我们可以通过使用枚举的名称和枚举元素的名称来引用它们。例如,使用Day.MONDAY可以引用MONDAY枚举元素。 通过为每个元素分配不同的值,我们可以在enum类中添加更多的信息。例如,我们可以为每个枚举元素指定一个字符串值,以便表示不同的周几。下面是一个带有字符串值的示例: ``` enum Day { MONDAY("星期一"), TUESDAY("星期二"), WEDNESDAY("星期三"), THURSDAY("星期四"), FRIDAY("星期五"), SATURDAY("星期六"), SUNDAY("星期日"); private String chineseName; private Day(String name) { chineseName = name; } public String getChineseName() { return chineseName; } } ``` 在这个示例中,我们通过一个私有构造函数为每个枚举元素指定了一个中文名称,并提供了一个用于获取中文名称的公共方法getChineseName()。 总结来说,通过在enum的声明中使用逗号分隔的枚举元素,我们可以添加枚举。枚举元素可以通过名称引用,还可以为每个元素添加一些信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值