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基础之枚举的主要内容,如果未能解决你的问题,请参考以下文章

java基础知识学习--------之枚举类型

Java基础之细说枚举

java 基础之枚举

java基础篇2之枚举

Java项目构建基础之统一结果

JAVA基础枚举