对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类中定义的方法也只能通过这些特定的几个实例来调用
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,833评论 19 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,931评论 6 13
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,487评论 18 399
  • 随着移动互联网的兴起,为了适应不同移动终端的屏幕,越来越多的网站开始采用响应式的Web页面。虽然像Chrome这样...
    吃素的外星人阅读 5,778评论 3 5
  • 夏季如何护肤,随着气温的升高,水分蒸发也会变多,皮肤会经常处在缺水的状态。夏季护肤被提上了日常护肤行程,由于夏季太...
    王公子说阅读 3,931评论 0 0

友情链接更多精彩内容