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

java的枚举2

时间:2015-09-06 20:06:06      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

首先先理解一下java中枚举的本质。

java的世界中一切皆是类,下面通过一个例子解释一下enum的本质:

package cn.xnchall.enumeration;

public class Grade {
    
    public void test() {
        print(grade.A);
    }
    
    
    public void print(grade g) {   //print A B C D E
        
    }
}

/*class grade{
    private grade(){}
    
    public static final grade A = new grade();
    public static final grade B = new grade();
    public static final grade C = new grade();
    public static final grade D = new grade();
    public static final grade E = new grade();
}*/

enum grade{    //class
    A,B,C,D,E;    //object
}

grade类和grade枚举类型作用是一样的作用,就是说枚举类型就是一个比较严格的类。它不允许new grade类,因为底层实现是private的。外部要想实现new操作,必须在grade的内部实现。

下面正式介绍enumeration!

1.定义枚举的构造函数、方法和字段


package cn.xnchall.enumeration;


public class Dome {
    
    public static void test() {
        print(grade.A);
    }
    
    
    public static void print(grade g) {   //print A B C D E
        System.out.println(g.getValue());
    }
    
    public static void main(String[] args){
        test();
    }
}

/*class grade{
    private grade(){}
    
    public static final grade A = new grade();
    public static final grade B = new grade();
    public static final grade C = new grade();
    public static final grade D = new grade();
    public static final grade E = new grade();
}*/

enum grade{   //class   A 100-90 B 89-80 C 79-70 D 69-60 E 59-0
    A("100-90")
    
    ,B("89-80")
    
    ,C("79-70")
    
    ,D("69-60")
    
    ,E("59-0")
    ;
    
    private String value; //每个字段的分数
    private grade(String value) {
        this.value = value;
    }
    
    public String getValue() {
        return this.value;
    }
}

 

 

上面将会执行得到的结果是:100-90

未完待续

将会补充:带有抽象方法的枚举

java的枚举2

标签:

原文地址:http://www.cnblogs.com/xnchll/p/4786965.html

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