java之enum枚举(2015年05月28日)

背景:

今天启动了一个新的项目,由于要从之前的旧项目中拿过来一些代码,所以就看了下公司之前项目代码,发现有定义的常量类,也有枚举类,然后就在想着两者的功能差不多,那他们之间到底有什么区别呢,所以就决定了解下enum枚举

 

一、简介

Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型。

二、基本用法

1.作为常量使用

一个完整的枚举类型示例

/**

* 枚举

* @author Dreyer

* @since 1.0

* @date 2015-5-28 下午8:16:31

*/

public enum EnumDemo1 {

Small(1),

Medium(2),

Larger(3);

private int code;

private EnumDemo1 (int code) {

this.code = code;

}

//作用相对于下面的toString()方法

public int getCode () {

return this.code;

}

@Override

public String toString() {

return String.valueOf(this.code);

}

}

2.可以用于switch()语句

EnumDemo1 size = EnumDemo1.Small;

public void printInfo() {

switch (size) {

case Small:

System.out.println("the size is small");

break;

case Medium:

System.out.println("the size is medium");

break;

case Larger:

System.out.println("the size is large");

break;

}

}

注意点:

1.枚举类型的构造函数只能是private或者默认的修饰符

2.所有的枚举值都是public static final修饰的,如同我们定义的常量一样

3.枚举中可以定义普通方法

4.枚举还能实现接口

三、Enum和enum的区别

Enum表示一个类,它里面封装了一下方法用于对枚举的基本操作

enum表示一个变量类型,是一种数据类型,它用来定义枚举

四、enum和常量的区别

待更新...

 

 

五、附加姿势

因为看公司定义的常量类都是一个class,然后就public static final...

在网上看到接口常量类觉得更不错,因为它是一个接口,所以里面的变量默认就是public static final修饰的

 

时间: 2024-10-15 10:25:35

java之enum枚举(2015年05月28日)的相关文章

逍遥刘强 - 期货大作手风云录(2015年8月28日)

<期货大作手风云录> 作 者:逍遥刘强译 者:系 列:出 版:东方出版社字 数:251千字阅读完成:2015年8月28日

1、关于Boolean(2015年05月30日)

背景:刚在看Effective Java,看到一段关于Boolean提供一个返回实例的静态方法的例子,便去看了下Boolean的源码,发现有些内容是之前没注意到的,于是便有了下面这些. 1. Boolean类将基本类型boolean的值包装在一个对象中,一个Boolean对象之包含一个类型为boolean的字段,摘自源码: /** * The value of the Boolean. * * @serial */ private final boolean value; Boolean还提供了

初识CSS3之媒体查询(2015年05月31日)

一.什么是媒体查询 媒体查询是面向不同设备提供不同样式的一种实现方式,它可以为每种类型的用户提供最佳的体验,也是响应式设计的实现方式. 现今每天都有更多的手机和平板电脑问市.消费者能够拥有可想象到的各种规格和形状的设备,但是网站开发人员却面临一个挑战:如何使他们的网站在传统浏览器.手机和平板电脑浏览器上有很好的效果,如何在各种大小的屏幕上提供一流的用户体验,答案是:采用响应式设计.响应式设计可以随所显示的屏幕大小而改变.实现响应式设计的主要方法是使用 CSS 媒体查询. 二.媒体查询规则 1.引

实用工具推荐(Live Writer)(2015年05月26日)

1.写博客的实用工具 推荐软件:Live Writer 使用步骤: 1.安装 Live Essential 2011,下载地址:http://explore.live.com/windows-live-writer 2.安装 2.1: 2.2:我们只需要Write组件 2.3:点击“安装”按钮,安装完成后,打开该软件 -> Windows Live 中打开 Windows Live Writer 首先需要对 Live Writer 进行配置,在选择日志服务的界面中选择:其他服务,如下图: 点击下

关于我,至目前的总结与展望(2015年2月28日)

某普通一本,信息与计算科学专业,大四..快毕业了,而我才对自己的有一个比较完整认知,很多本应在大学掌握的东西,只能从现在,并将占用毕业前一两年的的时间去弥补,不过我毕竟还年轻,大学毕业也只是开始,还有时间,这是不幸,也是我的幸运.就总结下自己大学的这四年,并做一下未来的规划吧. 一,大三上学期11月之前 这段的知识几乎空白,看小说玩游戏中浪费不少,唯一有用的就是大二的暑假读完一整本<c++ primer>,对编程有那么点感觉,自认为这是学的最好的,也是唯一的一门课程.也从帮助同学调试代码中获得

2015年9月28日作业(信息系统项目管理师学员)

作业内容:请写出项目范围管理论文的提纲. 提交时间:最迟在10月7日前提交. 提交方法:同学们按照要求完成作业,并发布在自己的51CTO博客,并将博文地址以评论的形式发布在老师布置作业的评论区

2015年9月28日JQuery提前预习预热笔记

visual studio下载2010 2010与2008不一样,2008需要添加补丁,采用调用对象.2010可以直接用. JQuery=$ 是函数是方法是对象 念J快儿,念doler 开发人员工具(用于查看开发源代码,看过程到底是怎么实现的,在用的时候可能是直接完成显示的,但是过程可能不是和清楚) Window.onload是在页面所有标签及内容下载完毕后才会出现页面整体显示,这样用户体验不是很好.但是JQuery($(document).ready())则是页面的标签下载完毕即可出现页面显示

2015年9月28日html基础了解学习

数据库与C#都是在后台运行的逻辑,而html,css,js,jq是在网页前台显示的一些效果.后台要考虑到优化性能效率等等,而前台要吸引到客户,要有更好的客户体验. 通用化,还是效率更高,在做项目中是要权衡的.手写的话冗余少,出问题少,但是不是很通用化,但是效率高可以提高性能.而使用工具出来的代码冗余多,通用化强,但是效率低. 下载电子书 javascript网页开发-体验式学习教程.pdf 这本书讲的很详细简单 下载VS2010 在vs里查看代码可以按crtl+k+d可以把代码自动的调整代码格式

信息系统项目管理师2015年9月28日作业

项目范围管理提纲 1.引言 2.项目简介 3.需求分析.管理 4.范围定义 5.范围管理计划定制 6.创建WBS 7.范围确认 8.范围控制 9.总结经验教训