wordpress仿落网,关键词优化如何,wordpress进入仪表盘,wordpress采集后排版#xfeff;#xfeff;Java高新技术 枚举 知识概要#xff1a; (1)为什么要有枚举 (2)枚举的示例 (3)枚举的应用 (4)枚举的高级应用 (1)为什么需要枚举 问题#xff1a;要定义星期几或性别的变量#xff0c;该怎么定义#xff1f; 假设用1-7分别表示星期一到星期日 Java高新技术 枚举 知识概要 (1)为什么要有枚举 (2)枚举的示例 (3)枚举的应用 (4)枚举的高级应用 (1)为什么需要枚举 问题要定义星期几或性别的变量该怎么定义 假设用1-7分别表示星期一到星期日但有人可能会写成int weekday 0; 或即使使用常量方式也无法阻止意外。 枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个 编译器就会报错。枚举可以让编译器在编译时就可以控制源程序中填写的非法值 普通变量的方式在开发阶段无法实现这一目标。 用普通类如何实现枚举功能定义一个Weekday的类来模拟枚举功能 私有的构造方法 每个元素分别用一个公有的静态成员变量表示 可以有若干公有方法或抽象方法。 采用抽象方法定义nextDay就将大量的if.else语句转移成了一个个独立的类。 package cn.itheima.day1;public abstract class WeekDay1 {private WeekDay1(){};public static final WeekDay1 MON new WeekDay1(){public WeekDay1 nextDay(){return SUN;}};public static final WeekDay1 SUN new WeekDay1(){public WeekDay1 nextDay(){return MON;}};public abstract WeekDay1 nextDay();/*public WeekDay nextDay(){if(thisSUN)return MON;elsereturn SUN;}*/public String toString(){return thisSUN?SUN:MON;}
}
代码测试 package com.itheima.day01; public class WeekDayTest { public static void main(String[] args) { WeekDay Mon WeekDay.MON; System.out.println(Mon); } } public enum WeekDay{SUN,MON,TUE,WED,THU,FRI,SAT;//; 可加可不加上private WeekDay(){System.out.println(first);};private WeekDay(int day){System.out.println(second);}} 枚举应用交通灯trafficLamp 私有的构造函数 私有的成员变量 和public方法 public enum TrafficLamp{RED(50){public TrafficLamp TrafficLampnexLamp(){return GREEN;}},GREEN(30){public TrafficLamp TrafficLampnexLamp(){return YELLOW;}},YELLOW(5){public TrafficLamp TrafficLampnexLamp(){return RED;}};public abstract TrafficLamp TrafficLampnexLamp();private int time;private TrafficLamp(int time){this.time time;}}}枚举类总结 1、枚举类是一种特殊形式的Java类。 枚举元素也是类对象 2、枚举类中声明的每一个枚举值代表枚举类的一个实例对象。 3、枚举类与Java中的普通类一样在声明枚举类时也可以声明属性、方法和构造函数。但枚举类的构造函数 必须为私有的这点不难理解。 4、枚举类也可以实现接口、或继承抽象类。 5、JDK 1.5 中扩展了switch语句它除了可以接收int, byte, char, short,String外还可以接收一个枚举类型。 6、若枚举类只有一个枚举值则可以当作单例设计模式使用。 7、枚举类的实例变量是把所以的枚举实例都加载一次的。如果调用了某个枚举类那么该枚举类先把枚举类 里面的所有元素都先加载一次。 转载于:https://www.cnblogs.com/thankyou/p/4352151.html