枚举应用五

简介: 复杂枚举结构和简单枚举结构混合应用 混合枚举 1 package com.yeepay.sxf.euma; 2 /** 3 * 简单的数据结构和复杂的数据结构枚举 4 * @author sxf 5 * 6 */ 7 public enum Categor...

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

混合枚举

 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(使用枚举中的方法==>)我是对的

相关文章
|
2月前
|
安全 Java
什么是枚举?
什么是枚举?
26 2
|
7月前
|
安全 C#
枚举
枚举
83 1
|
6月前
|
存储 定位技术
第3章 枚举!
第3章 枚举!
|
安全 索引
|
编解码 网络协议 5G
【C/C++】一文了解枚举使用
在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。通俗来讲,枚举是具有共同属性的一类整数常数的有限集合,例如星期一到星期天,就是一个成员个数为7的枚举类型,枚举成员也称为枚举项。
173 0
【C/C++】一文了解枚举使用
|
存储 JavaScript 前端开发
枚举(enumerables)
枚举(enumerables)
128 0
jmu-枚举WeekDay
jmu-枚举WeekDay
137 0
|
Java C# Python
为什么建议你使用枚举?(上)
为什么建议你使用枚举?
143 0
为什么建议你使用枚举?(上)
|
安全 Java 程序员
为什么建议你使用枚举?(下)
为什么建议你使用枚举?
251 0
为什么建议你使用枚举?(下)
|
存储 Java
为什么建议你使用枚举?(中)
为什么建议你使用枚举?
134 0