• 枚举应用四


    枚举抽象方法的定义使用

    有抽象方法的枚举 《班级名字》

     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  * @author sxf
     5  *
     6  */
     7 public enum WorkNameAres {
     8 
     9     KONGTONGPAIYIBAN("崆峒派一班"),
    10     WUDANGPAIYIBAN("武当派一班"),
    11     SHAOLEIPAIHUOJIAN("少林派火箭班"),
    12     EMEIPAIHUOJIAN("峨嵋派火箭班");
    13     /**
    14      * 枚举变量名
    15      */
    16     private String classname;
    17     /**
    18      * 枚举构造函数
    19      * @param name
    20      */
    21     private WorkNameAres(String name){
    22         this.classname=name;
    23     }
    24     public String getClassname() {
    25         return classname;
    26     }
    27     public void setClassname(String classname) {
    28         this.classname = classname;
    29     }
    30     
    31     
    32 
    33 }
    View Code

    《班级类型》

     1 package com.yeepay.sxf.euma;
     2 /**
     3  * 班级类型
     4  * @author sxf
     5  *
     6  */
     7 public enum WorkType {
     8     YIBAN("普通班",1),
     9     HUOJIAN("火箭班",2);
    10     
    11     private String name;
    12     private Integer number;
    13     
    14     private WorkType(String name,Integer number){
    15         this.name=name;
    16         this.number=number;
    17     }
    18 
    19     public String getName() {
    20         return name;
    21     }
    22 
    23     public void setName(String name) {
    24         this.name = name;
    25     }
    26 
    27     public Integer getNumber() {
    28         return number;
    29     }
    30 
    31     public void setNumber(Integer number) {
    32         this.number = number;
    33     }
    34     
    35     
    36 }
    View Code

    测试类

     1 public class Test {
     2     public static void main(String[] args) {
     3         test4();
     4     }
     5     
     6     
     7     public static void test4(){
     8         WorkName workName=WorkName.ONECLASS;
     9         //获取详细名字
    10         String name=workName.getDesc();
    11         System.out.println("Test.test4(班级类型的名字==>)"+name);
    12         //获取别名
    13         String[] ares=workName.getWorkNameAres();
    14         for(int i=0;i<ares.length;i++){
    15             System.out.println("Test.test4(班级类型的别名==>)"+ares[i]);
    16         }
    17         //获取类型
    18         WorkType workType=workName.getType();
    19         System.out.println("Test.test4(班级类型的名字==>)"+workType.getName());
    20         System.out.println("Test.test4(班级类型的编号==>)"+workType.getNumber());
    21     }
    22 }    
    View Code

    测试结果

    Test.test4(班级类型的名字==>)一班
    Test.test4(班级类型的别名==>)崆峒派一班
    Test.test4(班级类型的别名==>)武当派一班
    Test.test4(班级类型的名字==>)普通班
    Test.test4(班级类型的编号==>)1

  • 相关阅读:
    latch与DFF
    数字逻辑综合DC脚本示例及解释
    当DiscuzNT遇上了Loadrunner(下)
    [C#学习]在多线程中如何调用Winform
    并发性测试工具
    当DiscuzNT遇上了Loadrunner(上)
    大型网站(高访问、海量数据)技术架构
    Load Runner下载
    Invoke 和 BeginInvoke 的真正涵义
    当DiscuzNT遇上了Loadrunner(中)
  • 原文地址:https://www.cnblogs.com/shangxiaofei/p/4728282.html
Copyright © 2020-2023  润新知