zoukankan      html  css  js  c++  java
  • 枚举

    假如我们需要给学生打成绩而且只能是A,B,C,D四种类型,我们用传统方法和枚举分别实现

    class Grade{
        
        private Grade(){
            
        }
        
        public static final Grade A = new Grade();
        public static final Grade B = new Grade();
        public static final Grade C = new Grade();
        public static final Grade D = new Grade();
        
    }
    
    enum Grade1{
        A,B,C,D
    }

    这样我们的Grade就只能取A,B,C,D

    下面来说一下自带构造函数的枚举,同样是Grade,如果我们想知道每个成绩所代表的分数该怎么做呢?

     1 enum Grade{
     2     
     3     A("100-90"),B("90-80"),C("80-70"),D("70-60");
     4     
     5     private String value;
     6     
     7     private Grade(String value){
     8         this.value = value;
     9     }
    10     
    11     public String get(){
    12         return this.value;
    13     }
    14     
    15 }
    16 
    17 public class Demo2 {
    18 
    19     @Test
    20     public void demo(){
    21         Grade g = Grade.A;
    22         System.out.println(g.get());
    23     }
    24     
    25 }

    枚举类的抽象方法使用

     1 enum Grade{
     2     
     3     A("100-90"){
     4         public String get2(){
     5             return "优";
     6         }
     7     },
     8     B("90-80"){
     9         public String get2(){
    10             return "良";
    11         }
    12     },
    13     C("80-70"){
    14         public String get2(){
    15             return "一般";
    16         }
    17     },
    18     D("70-60"){
    19         public String get2(){
    20             return "差";
    21         }
    22     };
    23     
    24     private String value;
    25     
    26     private Grade(String value){
    27         this.value = value;
    28     }
    29     
    30     public String get(){
    31         return this.value;
    32     }
    33     
    34     public abstract String get2();
    35     
    36 }

    总结一下枚举类的使用:枚举相当于在限制类对象类型的一种简化,枚举类也是一种特殊形式的Java类,枚举类中声明的每一个枚举值代表枚举类的一个实例对象,与java中的普通类一样,在声明枚举的时候,也可以声明属性,方法和构造方法,当然构造方法必须是private。枚举类也可以实现接口,或者继承抽象类。

  • 相关阅读:
    标准差、方差、协方差的简单说明
    样本的均值和方差的无偏估计
    Network In Network——卷积神经网络的革新
    Rethinking the inception architecture for computer vision的 paper 相关知识
    VIM的自动补全
    substitute 命令与 global 命令
    两个月全马训练参照表
    初跑者秘诀
    python3入门教程
    使用Python3.x抓取58同城(南京站)的演出票的信息
  • 原文地址:https://www.cnblogs.com/Vamps0911/p/10766430.html
Copyright © 2011-2022 走看看