枚举类 引入 数学上的枚举法:
举例:1<x<3 , 2<y<6,
求x+y<8的有多少个
java上的枚举 类的对象是有限个,并且是确定的,就可以使用枚举类。
举例:星期一,二,三。。。日。
自定义枚举类:(JDK1.5之前) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 public class Mydate { private final String dateName; private final String dateDesc; private Mydate (String dateName, String dateDesc) { this .dateName=dateName; this .dateDesc=dateDesc; } public static final Mydate FRIDAY= new Mydate ("星期五" ,"放假咯" ); public static final Mydate SUNDAY= new Mydate ("星期日" ,"啊好烦" ); public String getDateName () { return dateName; } public String getDateDesc () { return dateDesc; } @Override public String toString () { return "Mydate{" + "dateName='" + dateName + '\'' + ", dateDesc='" + dateDesc + '\'' + '}' ; } }
测试类: 1 2 3 4 5 6 7 8 public class Test01 { public static void main (String[] args) { Mydate f = Mydate.FRIDAY; System.out.println(f); System.out.println(f.getDateName()); } }
JDK1.5之后有了==enum关键字==创建枚举类,使用方法跟上面类似 1 2 3 4 5 6 7 public enum Mydate { FRIDAY("星期五" ,"放假咯" ), SUNDAY("星期日" ,"啊好烦" );
==注意:要将对象放到最前,并且对象间用逗号连接==
==enum上层父类是java.lang.Enum,我们自定义的父类是Object==
通常使用enum关键字创建枚举类是这样的 1 2 3 4 public enum Mydate { FRIDAY, SUNDAY; }
而java.lang.Eunm包下有常用方法可以直接用
toSting();返回类名
values:返回枚举类对象数组
valueOf:获取对象
枚举类实现接口 枚举类实现接口,并且重写方法,方法直接用,所有枚举对象调用方法的时候,都是同一个方法,结果都是一样的。
想要结果不一样,可以在对象后面重写。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 public enum Mydate implements TestInterface { FRIDAY{ @Override public void show () { System.out.println("放假了" ); } }, SUNDAY{ @Override public void show () { System.out.println("烦躁" ); } }; }
1 2 3 public interface Interface { void show () ; }