Java基础之枚举
Posted in-the-game-of-thrones
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础之枚举相关的知识,希望对你有一定的参考价值。
一、Java中使用enum关键字定义枚举类
1 package test; 2 /** 3 * 泛型的使用 4 * @author Administrator 5 * 6 */ 7 public class TestType 8 9 public static void main(String[] args) 10 Em[] values = Em.values(); 11 //遍历枚举中的下标与之对应的值 12 for (Em em : values) 13 System.out.println("枚举下标:"+em.ordinal()+"\t\t"+"枚举下标对应的名称:"+em.name()); 14 15 16 17 /** 18 * 使用enum关键字定义的类为枚举类型 19 * 该类继承 Enum这个抽象类 20 * @author Administrator 21 * 22 */ 23 enum Em 24 aa,bb,cc; 25
注意:enum 与 Enum 的区别
》enum是定义枚举类型的关键字,而Enum是一个抽象类
》使用enum定义的枚举就相当于一个类继承了Enum这个抽象类
二、在Java枚举中,还可以定义属性、方法等,需要注意一下的要求:
1、枚举中的定义的构造法方法不能用public声明
2、枚举对象必须放在首行,随后才可以定义属性、构造、普通方法
1 package test; 2 /** 3 * 泛型的使用 4 * @author Administrator 5 * 6 */ 7 public class TestType 8 9 public static void main(String[] args) 10 //遍历枚举中的下标与之对应的值 11 for (Em em : Em.values()) 12 System.out.println(em); 13 14 15 16 /** 17 * 使用enum关键字定义的类为枚举类型 18 * 该类继承 Enum这个抽象类 19 * @author Administrator 20 */ 21 enum Em 22 /** 23 * 由于枚举中没有了无参构造, 24 * 所以需要手动调用 25 */ 26 AA("红色"),BB("绿色"),CC("蓝色") ; 27 28 private String title; 29 30 private Em(String title) 31 this.title = title; 32 33 @Override 34 public String toString() 35 return this.title; 36 37 38
1》、枚举还可以实现接口
2》、可以在每一个枚举类中 的 每一个对象后面使用匿名内部类形式实现抽象方法
3》、枚举类中还可以直接定义抽象方法,此时的每一个枚举对象分别覆写抽象方法
4》、switch中可以使用枚举判断
5》、枚举属于高级设计模式(反正我不习惯用)
以上是关于Java基础之枚举的主要内容,如果未能解决你的问题,请参考以下文章