码迷,mamicode.com
首页 > 其他好文 > 详细

枚举应用五

时间:2015-08-14 13:38:02      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

复杂枚举结构和简单枚举结构混合应用

混合枚举

技术分享
 1 package com.yeepay.sxf.euma;
 2 /**
 3  * 简单的数据结构和复杂的数据结构枚举
 4  * @author sxf
 5  *
 6  */
 7 public enum Category {
 8     /**
 9      * 简单的枚举
10      */
11     Memey("记忆大脑",WorkName.ONECLASS),
12     
13     /**
14      * 复杂的枚举
15      */
16     DORYS{
17         @Override
18         public String findName() {
19             return "我是对的";
20         }        
21     };
22     
23     //变量名
24     private String name;
25     private WorkName workName;
26     
27     //简单枚举的构造函数
28     private Category(String name,WorkName workName){
29         this.name=name;
30         this.workName=workName;
31     }
32     
33     //构造函数(复杂枚举结构构造函数)
34     private Category() {
35         
36     }
37     
38     
39     //普通方法(复杂枚举结构方法可重写)
40     public String findName(){
41         return "";
42     }
43     
44     public String getName() {
45         return name;
46     }
47     public void setName(String name) {
48         this.name = name;
49     }
50     public WorkName getWorkName() {
51         return workName;
52     }
53     public void setWorkName(WorkName workName) {
54         this.workName = workName;
55     }
56     
57     
58 
59 }
View Code

其他枚举(其中看到的枚举,参考上一篇枚举博客)

技术分享
 1 package com.yeepay.sxf.euma;
 2 /**
 3  * 枚举间的结合使用
 4  * @author sxf
 5  */
 6 public enum WorkName {
 7     /**
 8      * 一班
 9      */
10     ONECLASS{
11     
12         @Override
13         public String[] getWorkNameAres() {
14             return new String[]{
15                     WorkNameAres.KONGTONGPAIYIBAN.getClassname(),
16                     WorkNameAres.WUDANGPAIYIBAN.getClassname()
17             };
18         }
19 
20         @Override
21         public String getDesc() {
22             return "一班" ;
23             
24         }
25 
26         @Override
27         public WorkType getType() {
28             return WorkType.YIBAN;
29         }
30         
31     },
32     
33     /**
34      * 二班
35      */
36     TWOCLASS{
37 
38         @Override
39         public String[] getWorkNameAres() {
40             
41             return new String[]{
42                     WorkNameAres.EMEIPAIHUOJIAN.getClassname(),
43                     WorkNameAres.SHAOLEIPAIHUOJIAN.getClassname()
44             };
45         }
46 
47         @Override
48         public String getDesc() {
49             return "二班";
50         }
51 
52         @Override
53         public WorkType getType() {
54             return WorkType.HUOJIAN;
55         }
56         
57         
58     }
59     ;
60     
61     /**
62      * 获取班级的具体名字
63      * @return
64      */
65     public abstract String[]  getWorkNameAres();
66     /**
67      * 获取详细名字
68      * @return
69      */
70     public abstract String getDesc();
71     /**
72      * 获取班级类型
73      * @return
74      */
75     public abstract WorkType getType();
76     
77 
78 }
View Code

测试类

技术分享
 1 package com.yeepay.sxf.euma;
 2 
 3 
 4 public class Test {
 5     public static void main(String[] args) {
 6         test5();
 7     }
 8     
 9     
10     public static void test5(){
11         //获取枚举中的一个值
12         String name=Category.Memey.getName();
13         System.out.println("Test.test5(获取枚举对象中的一个值=>)"+name);
14         //获取枚举中的枚举
15         WorkName workName=Category.Memey.getWorkName();
16         //获取枚举的名字
17         String descname=workName.getDesc();
18         System.out.println("Test.test5(获取枚举的名字=>)"+descname);
19         //使用枚举中的方法
20         String abnameString=Category.DORYS.findName();
21         System.out.println("Test.test5(使用结构枚举值==>)"+Category.DORYS.name());
22         System.out.println("Test.test5(使用枚举中的方法==>)"+abnameString);
23     }
24 }
View Code

测试结果

Test.test5(获取枚举对象中的一个值=>)记忆大脑
Test.test5(获取枚举的名字=>)一班
Test.test5(使用结构枚举值==>)DORYS
Test.test5(使用枚举中的方法==>)我是对的

枚举应用五

标签:

原文地址:http://www.cnblogs.com/shangxiaofei/p/4729429.html

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