码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础之枚举

时间:2019-07-31 00:46:24      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:admin   方法   pac   err   注意   div   枚举类型   直接   蓝色   

一、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基础之枚举

标签:admin   方法   pac   err   注意   div   枚举类型   直接   蓝色   

原文地址:https://www.cnblogs.com/in-the-game-of-thrones/p/11273537.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!