对java enum的理解

写在前面

在java中enum也是一个类,这也就意味着它具有类的基本特性,比如你可以定义类方法、字段等等。它与普通的java类最大的区别,在我看来是它只能具有特定个数目的实例,并且这些实例我们必须在刚开始定义类的时候就制定好,其并没有new这么一说。

package com.tju.Util;
/**
 * Created by xiangyang.laixiang on 2016/6/15.
 */
public enum ErrorCode {

    SUCCESS("success","200");

    private String message;
    private String code;
    private ErrorCode(String message, String code)
    {
        this.message = message;
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

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

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }
    
    @Override
    public String toString() {
        return "hello world";
    }
    
    public static void main(String[] args) {
        System.out.println(ErrorCode.SUCCESS);
        ErrorCode.SUCCESS.setCode("500");
    }
}

notice

ErrorCode.SUCCESS.setCode("500");

如上所示,这里我们需要注意几个地方

  • enum只能定义有限个实例,这些实例在刚开始声明的时候就确定了
  • 我们在enum类中定义的方法也只能通过这些特定的几个实例来调用

你可能感兴趣的:(对java enum的理解)