码迷,mamicode.com
首页 > 编程语言 > 详细

学习Enum

时间:2018-07-17 00:45:21      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:中国联通   ide   auto   todo   其他   不能   esc   image   value   

  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

标签:中国联通   ide   auto   todo   其他   不能   esc   image   value   

原文地址:https://www.cnblogs.com/ysx123/p/9321215.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!