java枚举
来源:互联网 发布:mpls支持的网络协议 编辑:程序博客网 时间:2024/06/02 21:08
枚举:枚举最早的雏(在java5.0前没有引入枚举)是在类里用final来定义常量类(将类自身的构造函数全部私有,然后对外提供常量类的调用),例如:
class EnumDemo{public fianl static EnumDemo A= new EnumDemo();public fianl static EnumDemo B= new EnumDemo();public fianl static EnumDemo C= new EnumDemo(); private EnumDemo(){ }}
对外调用时EnumDemo.A,EnumDemo.B
以上是没有引入枚举时使用枚举的方法,现在引入枚举可以直接写:
enum EnumDemo{A,B,C;}
相当于上面的代码。
带字段、方法、构造函数的枚举:
enum EnumDemo{A("a"),B("b"),C("c");private String value;private EnumDemo(Sring str){this.value=str;}public String getValue(){return this.value;}}
带抽象方法:
package com.summer.day1;public enum EnumDemo {A("a"){@Overridepublic String getLocalValue() {// TODO Auto-generated method stubreturn "优秀";}},B("b") {@Overridepublic String getLocalValue() {// TODO Auto-generated method stubreturn "良好";}},C("c") {@Overridepublic String getLocalValue() {// TODO Auto-generated method stubreturn "一般";}};private String value;private EnumDemo(String str){this.value=str;}public String getValue(){return this.value;}public abstract String getLocalValue();}
注意:要在枚举时覆写抽象方法,否则会报错。
总结:
- 枚举类中的每一个枚举值都是枚举类的一个实例对象。
- 枚举的构造方法必须private。
- 枚举类也可以实现接口,继承抽象类。
- 若枚举只有一个枚举值,可以当做单态设计模式使用。
- Java中所有的枚举类都继承了java.lang.Enum。常用的方法name(),ordinal()(枚举从0开始计数),valueof(class,string)(用来检验表单提交的值是不是枚举允许的)、values()(在开发文档里查询不到,一般用来遍历枚举)
0 0
- JAVA 枚举
- java枚举
- java枚举
- Java 枚举
- Java 枚举
- Java 枚举
- java 枚举
- java 枚举
- java枚举
- java枚举
- java枚举
- java枚举
- Java枚举
- java枚举
- java 枚举
- java枚举
- Java枚举
- Java枚举
- 基于opc架构的数据采集系统及应用
- MFC扩展对话框(即收缩对话框)
- IK分词器的使用
- BloomFilter–大规模数据处理利器(解决空查问题)寻找共同的URL
- sizeof计算类的长度
- java枚举
- python实现冒泡排序法
- Ajax数据格式HTML
- 获取MP3文件的播放时间
- html 图片按比例缩放
- 在swift 中引入AFNetworking时遇到的问题
- sqlite3如何判断某个表是否创建
- iOS 转义字符
- [LeetCode]Longest Palindromic Substring