• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

无信不立

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

枚举应用五

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

混合枚举

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

posted on 2015-08-14 11:16  无信不立  阅读(222)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3