学习Enum

Posted ysx123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习Enum相关的知识,希望对你有一定的参考价值。

  1. 将Enum枚举理解为静态常量,规定好了这个类只能有这几种结果:
    public class EnumTest2 {
            
        public final static EnumTest2 CMCC=new EnumTest2();
        
        public final static EnumTest2 CUCC=new EnumTest2();
        
        public final static EnumTest2 CT=new EnumTest2();
    
    }
  2. 那么我们可以这样来写:
     1 public abstract class EnumTest {
     2     public final static EnumTest CMCC=new EnumTest(){
     3 
     4         @Override
     5         public String Enums() {
     6             return "中国移动";
     7         }
     8 
     9     };
    10     
    11     public final static EnumTest CUCC=new EnumTest() {
    12 
    13         @Override
    14         public String Enums() {
    15             return "中国联通";
    16         }
    17         
    18     };
    19     
    20     public final static EnumTest CT=new EnumTest() {
    21 
    22         @Override
    23         public String Enums() {
    24             return "中国电信";
    25         }
    26         
    27     };
    28 
    29     public abstract String Enums();
    30 
    31     @Override
    32     public String toString() {
    33         return Enums();
    34     }
    35 }

    3,调用的时候只会有这三种结果

    技术分享图片
  • public static void main(String[] args) {
            // TODO Auto-generated method stub
            
            System.out.println(EnumTest.CMCC.toString());//中国移动
            
            System.out.println(EnumTest.CUCC.toString());//中国联通
            
            System.out.println(EnumTest.CT.toString());//中国电信
            
        }

    枚举同样这样的

    技术分享图片

   4.可以通过给 enum 自定义属性和方法也能实现效果:  

 1 public enum PhoneEnum {
 2     CMCC("10086", "中国移动"),
 3     CUCC("10010", "中国联通"),
 4     CT("10000", "中国电信");
 5 
 6     private String value;
 7     private String desc;
 8 
 9     PhoneEnum(final String value, final String desc) {
10         this.value = value;
11         this.desc = desc;
12     }
13 
14     public Serializable getValue() {
15         return this.value;
16     }
17 
18 
19     public String getDesc(){
20         return this.desc;
21     }
22 }

 

 可以把 enum 看成是一个普通的 class,它们都可以定义一些属性和方法,不同之处是:enum 不能使用 extends 关键字继承其他类

    说的不是很详细,有问题还望提出来.

 


以上是关于学习Enum的主要内容,如果未能解决你的问题,请参考以下文章

C语言反转单向链表的代码

智能合约实战 solidity 语法学习 03 [ 数据类型 bool uint address bytes enum mapping struct string ] 附代码

IOS开发-OC学习-常用功能代码片段整理

java SpringRetry学习的代码片段

python 机器学习有用的代码片段

C语言学习笔记--enum和sizeof关键字