【Java】JAVA枚举类型

来源:互联网 发布:软件学报怎么样 编辑:程序博客网 时间:2024/06/02 14:42

JDK 5新增了enum关键字可用于定义一个枚举类。可以把相关常量写在一个类里。

如下代码:        

class TestClass {

    private TestClass(){}//定义私有构造函数,不能从外部实例化对象

    //提供两个实例A、B

    public static final TestClass A=new TestClass();

    public static final TestClass B=new TestClass();

}

可以用枚举类型代替:

enum TestClass01{

    A,B;

}

用法:

一个枚举也可以有构造函数、字段和方法:

enum TestClass02{

    A("a")  //建立对象时传入构造函数参数

    ,B("b");

    private String value;

    private TestClass02(String value){

        this.value=value;

    }

    public String getValue(){

        return this.value;

    }

}

枚举也可以有抽象方法:

enum TestClass03{

    A(){

    //实现抽象方法

    public void type(){

        System.out.println("优");

    }

    }

    ,B(){

    public void type(){

        System.out.println("良");

    }

    };

    public abstract void type();//定义抽象方法

}

测试方法:

public class Test02 {

    public static void main(String[] args){

        print(TestClass02.A);//传入枚举参数

    }

    public static void print(TestClass02 t){

        System.out.println(t.getValue());

    }

enum TestClass02{

    A("a")

    ,B("b");

    private String value;

    private TestClass02(String value){

        this.value=value;

    }

    public String getValue(){

        return this.value;

    }

}

}

运行结果:a

Author:事始
Sign:只要你还在尝试,就不算失败。
0 0
原创粉丝点击