您的位置:首页 > 其它

关于枚举

2016-07-07 16:34 309 查看
1.所有的对象都是这个类的pubic static final;

2.构造方法只能是私有,枚举在此类外不能新建;

3.toString()方法如果不重写,输出就是变量名;

4.values()枚举类静态方法,可以列举出所有这个枚举类类型的对象;

5.枚举是一个类,只能实现接口,不能继承别的类,有自己的属性和方法;

6.枚举是一个特殊的类,自己的属性一定出现在GOOD/BAD/NORMAl等变量名之后

package StaticTest;

//枚举的举例

public enum Test2 {

    GOOD(1, "好学生"), BAD(2, "坏学生"), NORMAL(3, "中等学生");

    private final int condition;

    private final String name;

    private Test2(int condition, String name) {

        this.condition = condition;

        this.name = name;

    }

    public int getCondition() {

        return condition;

    }

    public String getName() {

        return name;

    }

    //重写toString(方法,如果不重写,输出的值就只是GOOD)

    public String toString() {

        return "12345" + name;

    }

    public static String getNameByCondition(int condition) {

        for (Test2 enum1 : values()) {

            if (condition == enum1.condition) {

                return enum1.getName();

            }

        }

        throw new IllegalArgumentException("没有这样的序号:" + condition

                + ", in Test2");

    }

    public static void main(String[] args) {

        System.out.println(getNameByCondition(1));

        System.out.println(getNameByCondition(2));

        System.out.println(getNameByCondition(3));

        //System.out.println(getNameByCondition(4));//验证没有这样的标号抛出异常

        System.out.println(GOOD);//输出GOOD的值

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: