0
点赞
收藏
分享

微信扫一扫

java中的枚举

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;``} @Override``public 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;``} @Override``public String toString() {``return  name + "\t" + desc ;``}``}``} |

enum关键字的注意事项

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

相关推荐

0 条评论