zoukankan      html  css  js  c++  java
  • 枚举类型的相关解析

    首先创建枚举类型的类对象。

     1 package lltse.base.enumdemo;
     2 
     3 public enum LevelEnum 
     4 {
     5     //创建枚举对象,调用有参构造函数实例化
     6     PERFECT("优秀")
     7     {
     8         //实现抽象方法
     9         public int getNum()
    10         {
    11             return 5;
    12         }
    13     },
    14     GOOD("良好")
    15     {
    16         //实现抽象方法
    17         public int getNum()
    18         {
    19             return 4;
    20         }
    21     },
    22     MID("中等")
    23     {
    24         //实现抽象方法
    25         public int getNum()
    26         {
    27             return 3;
    28         }
    29     },
    30     PASS("及格")
    31     {
    32         //实现抽象方法
    33         public int getNum()
    34         {
    35             return 2;
    36         }
    37     },
    38     NOPASS("不及格")
    39     {
    40         //实现抽象方法
    41         public int getNum()
    42         {
    43             return 1;
    44         }
    45     };
    46     
    47     private String name;
    48     
    49     //枚举无参构造函数
    50     private LevelEnum()
    51     {
    52     }
    53     
    54     //枚举有参构造函数
    55     private LevelEnum(String name)
    56     {
    57         this.name = name;
    58     }
    59     
    60     
    61     public String getName()
    62     {
    63         return name;
    64     }
    65     
    66     //枚举抽象方法定义,要求创建对象的子类都需要实现该方法
    67     public abstract int getNum();
    68 }

    其次是枚举类型的测试类

     1 package lltse.base.enumdemo;
     2 
     3 public class EnumDemo 
     4 {
     5 
     6     public static void main(String args [])
     7     {
     8         testEnumLevel(LevelEnum.MID);
     9         
    10         
    11         //返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。 
    12         LevelEnum level1 = LevelEnum.PERFECT;
    13         System.out.println(""+level1.ordinal());
    14         
    15         //返回带指定名称的指定枚举类型的枚举常量
    16         System.out.println(LevelEnum.valueOf("GOOD").getName());
    17         
    18         //获取枚举类型的数组
    19         LevelEnum [] enums = LevelEnum.values();
    20         for(LevelEnum enum1 : enums)
    21         {
    22             System.out.println("name:>>>"+enum1.getName()+"num:>>>"+enum1.getNum());
    23         }
    24     }
    25 
    26     private static void testEnumLevel(LevelEnum level)
    27     {
    28         switch(level)
    29         {
    30             //此处可以使用byte short int char enum 几种数据类型
    31             case PERFECT:
    32                 //此处调用枚举的getName方法获取枚举名称,返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
    33                 System.out.println(""+level.getName()+">>>"+level.getNum()+"***"+level.ordinal());
    34                 break;
    35             case GOOD:
    36                 System.out.println(""+level.getName()+">>>"+level.getNum());
    37                 break;
    38             case MID:
    39                 System.out.println(""+level.getName()+">>>"+level.getNum()+"***"+level.ordinal());
    40                 break;
    41             case PASS:
    42                 System.out.println(""+level.getName()+">>>"+level.getNum());
    43                 break;
    44             case NOPASS:
    45                 System.out.println(""+level.getName()+">>>"+level.getNum());
    46                 break;
    47             default:
    48                 new RuntimeException("non");
    49         }
    50     }
    51 }
  • 相关阅读:
    Java框架第二次课
    知识扩展1——最大似然估计
    知识扩展2——熵 ,KL散度,交叉熵,JS散度,Wasserstein 距离(EarthMover距离)
    知识扩展3——广义线性模型GLM
    3 逻辑回归
    朴素贝叶斯
    GAN 的后序
    mysql 多个字段字符串合并成一个字段
    qt离线下载
    “用户”,你凭什么说改框架?
  • 原文地址:https://www.cnblogs.com/lltse/p/5460298.html
Copyright © 2011-2022 走看看