0
点赞
收藏
分享

微信扫一扫

《Java枚举》

灯火南山 2022-03-19 阅读 80

枚举对应对应英文enumeration,简写为enum。

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

枚举实现的两种方式

1)自定义类实现枚举。

2)使用 enum 关键字实现枚举。

自定义实现枚举的步骤如下:

1、 构造器私有化, 目的防止直接 new。

2、 删除setXxx方法, 防止属性被修改。

3 、在Season内部, 直接创建固定的对象。

public class Enumeration01 {
public static void main(String[] args) {
System.out.println(Season.SPRING);
System.out.println(Season.AUTUMN);
}
}

class Season{
private String name;
private String desc;//描述

//定义了 4 个对象, 固定
public static final Season SPRING = new Season("春天","温暖");
public static final Season WINTER = new Season("冬天","寒冷");
public static final Season AUTUMN = new Season("秋天","凉爽");
public static final Season SUMMER = new Season("夏天","炎热");

//1、 构造器私有化, 目的防止直接 new。
//2、 删除setXxx方法, 防止属性被修改。
//3 、在Season内部, 直接创建固定的对象。
//4、 可以加入 final 修饰符
private Season(String name, String desc) {
this.name = name;
this.desc = desc;
}

public String getName() {
return name;
}

public String getDesc() {
return desc;
}

}

小结 自定义类实现枚举:

1、 不需要提供 setXxx 方法,因为枚举类型对象值通常为只读。

2、枚举类对象/属性使用 final + static 共同修饰,实现底层优化。

3、枚举对象名通常全部使用大写,常量的命名规范。

4、 枚举对象根据需要,可以有多个属性。

有以下特点:

1)构造器私有化

2)本类内部创建一组对象【例如 : 四个春夏秋冬】。

3)对外暴露对象(通过为对象添加修饰符public final static 修饰)。

4)可以提供 get 方法,但是不要提供 set。

使用 enum 关键字实现枚举步骤如下:

1、 使用关键字 enum 来代替 class

2、直接使用SPRING("春天",”温暖“); 即 常量名(实参列表)。

3、如果有多个常量(对象),使用 逗号 进行间隔。

enum Season2{

//1、 使用关键字 enum 来代替 class
//2、直接使用SPRING("春天",”温暖“); 即 常量名(实参列表)。
//3、如果有多个常量(对象),使用 逗号 进行间隔。
//4、如果使用enum来实现枚举,要求将所定义的常量对象,写在最前面。
SPRING("春天","温暖"),
WINTER("冬天","寒冷"),
AUTUMN("秋天","凉爽");

private String name;
private String desc;//描述

private Season2(String name, String desc) {
this.name = name;
this.desc = desc;
}

public String getName() {
return name;
}

public String getDesc() {
return desc;
}
}

使用enum关键字的注意事项:

1、当我们使用enum 关键字开发一个枚举类时,会默认继承Enum类,而且是一个final类 。

2、传统的 public static final Season SPRING = new Season("春天","温暖"); 简化成 SPRING("春天","温暖"); 这里必须知道,它调用的是哪一个构造器。

3、 如果使用无参构造器 创建 枚举对象,则实参列表和小括号都可以省略。

enum Season{
SPRING; // 等价于 SPRING();

private Season{
}
}

4、当有多个枚举对象时,使用逗号间隔,最后一个使用分号。

5、枚举对象必须放在枚举类的行首。

举报

相关推荐

0 条评论