室内设计公司企业简介,长沙网站优化外包,wordpress怎么加音乐,刷抖音一天赚四五百块枚举
对应英文(enumeration, 简写enum)
枚举是一组常量的集合#xff0c;属于一种特殊的类#xff0c;里面只包含一组有限的特定的对象。
自定义类实现枚举
1.不需要提供setXxx方法#xff0c;因为枚举对象值通常为只读.
2.对枚举对象/属性使用 final static共同修饰…枚举
对应英文(enumeration, 简写enum)
枚举是一组常量的集合属于一种特殊的类里面只包含一组有限的特定的对象。
自定义类实现枚举
1.不需要提供setXxx方法因为枚举对象值通常为只读.
2.对枚举对象/属性使用 final static共同修饰实现底层优化.final 和 static 搭配使用可以不导致类加载,效率更高
3.枚举对象名通常使用全部大写常量的命名规范.
4.枚举对象根据需要,也可以有多个属性
public class Enumeration02 {public static void main(String[] args) {System.out.println(Season.AUTUMN);System.out.println(Season.SPRING);}
}//演示字定义枚举实现
class Season {//类private String name;private String desc;//描述//定义了四个对象, 固定.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 修饰符static会导致类加载防止这种情况 final 和 static 搭配使用可以不导致类加载,效率更高private Season(String name, String desc) {this.name name;this.desc desc;}public String getName() {return name;}public String getDesc() {return desc;}
}构造器私有化本类内部创建一组对象对外暴露对象通过为对象添加public final static 修饰符可以提供get 方法但是不要提供set enum 关键字实现枚举 public class Enumeration03 {public static void main(String[] args) {System.out.println(Season2.AUTUMN);System.out.println(Season2.SUMMER);}
}
//演示使用enum关键字来实现枚举类
enum Season2 {//类//定义了四个对象, 固定.
// 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(夏天, 炎热);//如果使用了enum 来实现枚举类//1. 使用关键字 enum 替代 class//2. public static final Season SPRING new Season(春天, 温暖) 直接使用// SPRING(春天, 温暖) 解读 常量名(实参列表)//3. 如果有多个常量(对象) 使用 ,号间隔即可//4. 如果使用enum 来实现枚举要求将定义常量对象写在前面//5. 如果我们使用的是无参构造器创建常量对象则可以省略 ()SPRING(春天, 温暖), WINTER(冬天, 寒冷), AUTUMN(秋天, 凉爽),SUMMER(夏天, 炎热), What();private String name;private String desc;//描述private Season2() {//无参构造器}private Season2(String name, String desc) {this.name name;this.desc desc;}public String getName() {return name;}public String getDesc() {return desc;}
}注意事项 如果使用无参构造器创建枚举对象则实参列表和小括号都可以省略。 当有多个枚举对象时使用间隔最后有一个分号结尾。 枚举对象必须放在枚举类的行首。 enum 方法
使用关键字enum 时会隐式继承Enum 类, 这样我们就可以使用Enum 类相关的方法。
toString:Enum 类已经重写过了返回的是当前对象名,子类可以重写该方法用于返回对象的属性信息。name返回当前对象名常量名子类中不能重写。ordinal返回当前对象的位置号默认从0 开始。values返回当前枚举类中所有的常量。valueOf将字符串转换成枚举对象要求字符串必须为已有的常量名否则报异常compareTo比较两个枚举常量比较的就是编号前减后编号 enum 实现接口
使用enum 关键字后就不能再继承其它类了因为enum 会隐式继承Enum而 Java是单继承机制。
枚举类和普通类一样可以实现接口