java中的枚举

来源:互联网 发布:牛耳软件教育 编辑:程序博客网 时间:2024/04/30 03:47

首先在java中枚举是一种基本数据类型,使用情况是在定义了一组常数,一个变量可能有几种调用,此时用枚举。

分享一个案例:

package com.java.enumeriation;import org.junit.Test;public class Demo1 {@Testpublic void test(){show(Grade.B);}@Testpublic void test2(){System.out.println(Grade.C.name());System.out.println(Grade.C.ordinal());String str = "grade";Grade g = Grade.valueOf(str);System.out.println(g);Grade g1[] = Grade.values();for(Grade grade : g1){System.out.println(grade);}}public void show(Grade g){System.out.println(g.getValue());g.methodOfChinese();//得到枚举类中的全部对象数据/*Grade g1[] = Grade.values();for(Grade grade : g1){System.out.println(grade);}*///Grade g1= Grade.valueOf("exam");Grade grade[] = Grade.values();for(Grade g2 : grade){System.out.println(g2);}}}enum Grade{A("100-90") {@Overridepublic void methodOfChinese() {// TODO Auto-generated method stubSystem.out.println("优");}},B("89-80") {@Overridepublic void methodOfChinese() {// TODO Auto-generated method stubSystem.out.println("良");}},C("79-70") {@Overridepublic void methodOfChinese() {// TODO Auto-generated method stubSystem.out.println("一般");}},D("69-60") {@Overridepublic void methodOfChinese() {// TODO Auto-generated method stubSystem.out.println("差");}},E("59-00") {@Overridepublic void methodOfChinese() {// TODO Auto-generated method stubSystem.out.println("不及格");}};private String value;public String getValue() {return value;}private Grade(String value){this.value = value;}public abstract void methodOfChinese();}

enum是一个类型,中有a,b,c,d,e五个对象,由构造函数传入一个String字符串,都复写了枚举中的抽象方法。show方法旨在显示枚举中对象的名字还有它实现的抽象方法。

程序运行结果:

89-80

A
B
C
D
E
C
2

0 0
原创粉丝点击