学习Enum
Posted ysx123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习Enum相关的知识,希望对你有一定的参考价值。
- 将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(); }
- 那么我们可以这样来写:
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的主要内容,如果未能解决你的问题,请参考以下文章
智能合约实战 solidity 语法学习 03 [ 数据类型 bool uint address bytes enum mapping struct string ] 附代码