实例一:

public enum OrderOption {
ASC,
DESC;

}

实例二(带参数构造函数):

public enum OrderOption {
ASC("ASC"),
DESC("DESC");
String type;

OrderOption(String type){
this.type = type;
}

public String getType() {
return type;
}

public void setType(String type) {
this.type = type;
}
}

实例三(枚举公共方法):

public static void main(String[] args) {
System.out.println(SeasonEnum.getSeason("spring"));
}

public enum SeasonEnum {
spring, summer, autumn, winter;
public static SeasonEnum getSeason(String position) {
if ("spring".equals(position)){
return spring;
}else if("summer".equals(position)){
return winter;
}else if("autumn".equals(position)){
return autumn;
}else{
return winter;
}
}
}

实例四(带抽象方法的枚举):

public static void main(String[] args) {
System.out.println(OrderState.A.aaa());
}

public enum OrderState {
A{
public String aaa(){
return "优";
}
},
B{
public String aaa(){
return "良好";
}
},
C{
public String aaa(){
return "及格";
}
};

public abstract String aaa();
}

实例五(综合实例):

enum  Grade{//class

    A("100-90"){  
        public String localeValue(){  
            return "优";  
        }  
    },  
    B("89-80"){  
        public String localeValue(){  
            return "良";  
        }  
    },  
    C("79-70"){  
        public String localeValue(){  
            return "一般";  
        }  
    },  
    D("69-60"){  
        public String localeValue(){  
            return "差";  
        }  
    },  
    E("59-0"){  
        public String localeValue(){  
            return "不及格";  
        }  
    };//Object  
      
    private String value; //封装每个对象对应的分数  
    private Grade(String value){  
        this.value = value;  
    }  
      
    public String getValue(){  
        return this.value;  
    }  
    public abstract String localeValue();  
      
}  
 
记住:枚举中的抽象方法,在创建枚举的对象的时候要实现抽象方法。
测试:
[java]  
package com.feng.myemu;  
  
import org.junit.Test;  
  
public class Demo1 {  
    @Test  
    public void test(){  
        print(Grade.B);  
    }  
      
    public void print(Grade g){  
        String value = g.localeValue();  
        System.out.println(value);  
    }  
}  

java枚举实例的更多相关文章

  1. java枚举类型的优势在哪里?--一个实例

    最近在做一个项目,其中涉及到一组操作,命名为: 1. "add"; 2. "logicDel" 3. "physicDel" 4. &quo ...

  2. java枚举类型学习

    用的不多,但用的时候仅仅简单的使用,不太明白原理,今天就系统的学一下枚举.参考:java编程思想. Update: 枚举可以当做数据字典来存储,通常只要一个字段即instance本身,toString ...

  3. Java 枚举用法详解

    概念 enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性. 在Java中,被 enum 关键字修饰的类型就是枚举类型.形式如下: enum Color { RED, GR ...

  4. 【转】java枚举类型enum的使用

    原文网址:http://blog.csdn.net/wgw335363240/article/details/6359614 java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到 ...

  5. 【转】Java 枚举7常见种用法

    原文网址:http://softbeta.iteye.com/blog/1185573 Java 枚举7常见种用法 博客分类: java java枚举enmu  原创地址:http://blog.li ...

  6. Java枚举类enum

    枚举类enum是JDK1.5引入的,之前都是用public static final int enum_value来代替枚举类的.枚举类enum是一种特殊的类,它默认继承了类java.lang.Enu ...

  7. 转载 java枚举类型enum的使用 (原文地址:http://blog.csdn.net/wgw335363240/article/details/6359614)

    java枚举类型enum的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java中定义的常量值不采用enmu枚举类型,而采用public final static 类型来定义呢?以前我们都是采 ...

  8. java枚举细节

     1.在没有枚举之前,我们如果需要一些常量,比如说,我们想用一些常量来代替订单的几种状态,如已下单未付款.已付款未发货.已发货未确认收货.已收货未评价.已评价.我们会定义一个用来装常量的类,比如: p ...

  9. Java枚举类使用

    用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. p ...

随机推荐

  1. C# Inject

    using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Di ...

  2. springmvc----struts2比较

    method=requestMethod.GETorPOST  vs  addInput+add 用抛异常处理密码验证和用户名重复与否验证 +js303 @validate   判断输入格式(jque ...

  3. ImageLoder配置以及使用(个人阅读使用)

    http://blog.csdn.net/vipzjyno1/article/details/23206387 在gradle添加: compile 'com.nostra13.universalim ...

  4. Python闭包实现的计数器

    #!/usr/bin/env python #coding=utf-8 def generate_counter(): CNT = [0] def add_one(): CNT[0] = CNT[0] ...

  5. SQL2008:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。

    错误: 解决方案: 1.查看服务是否开启,如果没有开启,请开启服务. 2.服务器名称栏:格式:主机名\实例名或者ip\实例名 如:10.10.4.81\SQLSERVER

  6. iOS 开发之推力动画效果

    步骤: 1.使用single view application 创建新的项目 2.在.h文件中需要遵守两个协议<UICollisionBehaviorDelegate,UIGestureReco ...

  7. 属性的定义以及@synthesize的使用

    1.属性通常是指某些由对象封装或储存的数据.它可以是标志(如名称或颜色),也可以是与一个或多个其他对象的关系. 2.属性的基本声明使用 @property 编译器指令,后面紧跟属性的类型信息和名称.您 ...

  8. java字节数组和16进制之间的转换

    /* * To change this template, choose Tools | Templates * and open the template in the editor. */ pac ...

  9. FTP服务器移动文件目录

    已经可以移动文件了,原因是路径问题.还是用的Rename方法.原因是RenameTo=“”;这里的路径之前没包含文件名,而且相对路径和绝对路径都没弄对,所以之前一直不相信别人说的Rename可以移动文 ...

  10. 高级iOS开发工程师的面试题

    1:CALayer与UIView的区别是什么? 两者最大的区别就是:涂层不会直接渲染到屏幕上: UIView是iOS界面元素的基础,所有界面元素都是继承于它,他的本身全是由CoreAnimation来 ...