Enum的个人理解总结

package com.china.me;

/**
 * 
 * EumeTest 可以理解为一个总的类型,总称 ,里面的成员都是它的复制,都具有一样的性质
 * 
 * 用enum修饰后 隐式的继承了Enum
 * 
 * 
 * 它的成员,即每一个复制都默认用 public static final修饰 静态常量
 * 
 * 
 * 
 * enumTest.values() 方法得到了所有的复制 成员,可以通过.code 或者getCode()得到成员设定的值
 * 
 * 
 * 
 * 可以直接enumTest.NO_MATCH 获得成员   syso 输出得到的成员的name 等效 NO_MATCH.name()
 * 
 * 
 * 重写了toString方法后 直接输出成员 会执行重写的 toString方法
 * 
 *
 */

public enum EumeTest {

    NO_MATCH("400", "请求失败!"),
    NO_Error("440", "请求失败!"), 
    NO_people("450", "请求失败!"),
    NO_cat("50", "请求失败!"),
    NO_dog("4050","请求失败!"),
    NO_animal("4500", "请求失败!");

    String code;
    String message;

    EumeTest(String code, String message) {
        this.code = code;
        this.message = message;

    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public static void main(String[] args) {

        EumeTest test = EumeTest.NO_MATCH;
        
        System.out.println(test.name());
        //如过不重写toString方法  输出的是name()后的值
        System.out.println(EumeTest.NO_MATCH);
        System.out.println(test);
        System.out.println(test.code);
        for (EumeTest enumTest : EumeTest.values()) {

            System.out.println(
                    enumTest.name() + "---" + enumTest.code + "--" + enumTest.message + "--" + enumTest.ordinal());
        }

    }
    public String toString() {
        
        return code+"===="+message;
    }
    

}
 

你可能感兴趣的:(java技术)