java中的枚举

虚幻大学 xuhss 329℃ 0评论

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

枚举的理解

  • 枚举是一组常量的集合,可以理解:枚举属于一种特殊的类,里面包含一组有限的特定对象

枚举定义的两种方式(自定义枚举和enum关键字枚举)

第一种枚举的自定义的实现步骤和注意事项

  • 不要提供Setxxx方法,因为枚举对象值通常为只读
  • 对枚举对象的属性使用:public+final+static修饰符
  • 枚举对象名通常使用全部大写,常量命名规范
  • 枚举对象根据需要,也可以有多个属性
  • 在本类的内部创建一组本类实例对象
  • 案例

?

| 1234567891011121314151617181920212223242526272829303132333435363738 | public class ad {public static void main(String[] args) {//打印枚举的单个对象实例System.out.println(GRY.GREEN);} //自定义枚举public static class GRY { //创建多个枚举对象的实例public final static GRY GREEN = new GRY("1","绿灯");public final static GRY RED = new GRY("1","红灯");public final static GRY YELLO = new GRY("1","黄灯"); private String type; //类型private String desc; //描述 //构造器私有化private GRY(String type, String desc) {this.type = type;this.desc = desc;} //只给getxx方法 不要set 方法,因为set方法可以修改public String getType() {return type;} public String getDesc() {return desc;} @Overridepublic String toString() {return type + "\n"+ desc ;}}} |

Enum关键字定义枚举

  • 使用关键字enum来替代class
  • 用常量名.(实惨列表)在类内部的第一行来定义
  • 如果有多个常量(对象)中间用,号隔空
  • 如果使用enum来实现枚举,使用,号隔开
  • 举例

?

| 12345678910111213141516171819202122232425262728293031323334353637383940 | class Weather {public static void main(String[] args) {//打印自定义枚举常量System.out.println(Season.SPRING);System.out.println(Season.WINTER);System.out.println(Season.AUTUMN);System.out.println(Season.SUMMER);} enum Season {//如果使用 enum 来实现枚举,要求将定义常量对象,写在前面// 如果我们使用的是无参构造器,创建常量对象,则可以省略 ()SPRING("春天", "温暖"), WINTER("冬天", "寒冷"), AUTUMN("秋天", "凉爽"),SUMMER("夏天", "炎热"); private String name;private String desc;//描述 private Season() {//无参构造器} private Season(String name, String desc) {//有参构造器 并私有化this.name = name;this.desc = desc;} public String getName() {return name;} public String getDesc() {return desc;} @Overridepublic String toString() {return name + "\t" + desc ;}}} |

enum关键字的注意事项

  • 当enum关键字开发一个枚举类时,默认会继承enum类,这个类是一个final类,不能再被继承
  • 如果我们使用是无参构造器,则可以直接写常量名,小括号可以省略
  • 枚举对象必须放在枚举的首行
  • 使用enum关键字后,不能使用其他类,因为enum会隐式继承Enum
  • 枚举类型对象之间的值比较式可以用==,直接比较不用equlas

转载请注明:xuhss » java中的枚举

喜欢 (0)

您必须 登录 才能发表评论!