使用枚举enum
枚举可以把常量按照类别组织起来, 并且提供了构造方法和其他访问方法
用法:
package com.nel.testPro.useage.use_enum; public enum Color implements Behaviour{ RED, YELLOW, BLUE, PINK("pink", 3); // 使用枚举, 可以将常量分类, 而且能提供比操作常量跟更多的方法 // 自定义属性
private String name; private Integer index; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Integer getIndex() {
return index;
} public void setIndex(Integer index) {
this.index = index;
} Color () { } // 自定义构造方法
Color(String name, Integer index) {
this.name = name;
this.index = index;
} // 普通方法
public static String getName(Integer index) { for (Color c : Color.values()) {
if (c.getIndex() == index) {
return c.getName();
}
}
return "not found";
} // 覆盖toString
@Override
public String toString() {
return "this is " + this.name;
}
// 可以实现接口, 扩展其方法
@Override
public void say() {
System.out.println("say " + this.getName()); } }
测试:
public static void main(String[] args) { Color color = Color.RED; switch(color) {
case RED:
System.out.println("red");
break;
case BLUE:
System.out.println("blue");
break;
case YELLOW:
System.out.println("yellow");
break;
case PINK:
System.out.println("pink");
} //
System.out.println(Color.getName(3)); //
System.out.println(Color.valueOf("PINK")); //
System.out.println(Color.valueOf(Color.class, "BLUE")); //
Color.PINK.say(); }
输出:
使用枚举enum的更多相关文章
- MySQL字段之集合(set)枚举(enum)
MySQL字段之集合(set)枚举(enum) (2008-12-23 13:51:23) 标签:it 分类:MySQL 集合 SET mysql> create table jihe(f1 ...
- 枚举 enum
typedef enum : NSUInteger { <#MyEnumValueA#>, <#MyEnumValueB#>, <#MyEnumValueC#>, ...
- 枚举enum学习小记
参考文献: [1]C++程序设计语言(特别版), 裘宗燕译, 机械工业出版社 [2]C++ Primer (3rd Ed.), S.B. Lippman and J. Lajoie, 人民邮电出版社 ...
- Java 枚举(enum) 详解7种常见的用法
Java 枚举(enum) 详解7种常见的用法 来源 https://blog.csdn.net/qq_27093465/article/details/52180865 JDK1.5引入了新的类型— ...
- Python 枚举 enum
Python 枚举 enum enum 标准模块在 3.4 版本才可以使用,3.3 以下版本需要独立安装:https://pypi.python.org/pypi/enum34#downloads,官 ...
- 【转】结构struct 联合Union和枚举Enum的细节讨论
结构struct 联合Union和枚举Enum的细节讨论 联合(Union)是一种构造数据类型,它提供了一种使不同类型数据类型成员之间共享存储空间的方法,同时可以实现不同类型数据成员之间的自动类型转换 ...
- 枚举Enum和常量0之间的恩怨
1,任何为0的常量表达式都能隐式的转换成枚举Enum. 对于这一点,在程序中没少吃苦头.特别是对于函数重载的情况,往往让人一头雾水. 看看下面的代码(摘自MSDN),你能猜到输出吗? public e ...
- C++和Java中枚举enum的用法
在C++和java中都有枚举enum这个关键字,但是它们之间又不太一样.对于C++来说,枚举是一系列命名了的整型常量,而且从枚举值转化为对应的整型值是在内部进行的.而对于Java来说,枚举更像一个类的 ...
- 【转】枚举enum学习小记
原帖: http://hi.baidu.com/yuleishou/item/caacae872190031ec216272f 表示在vs2008下实验了一下,有些东西和原帖的还是不一样的,都贴在这里 ...
- 枚举类型与位域枚举Enum
一.概述 定义一个值类型,其中包含固定值集合.枚举类型变量可以是此集合中的任意一个或多个值.枚举使用enum关键字来声明,与类同级.枚举本身可以有修饰符,但枚举的成员始终是公共的,不能有访问修饰符.枚 ...
随机推荐
- Five nines
Five nines, commonly taken to mean "99.999%", may refer to: 高可用 High availability of serv ...
- 【mongodb系统学习之三】进入mongodb shell
三. 进入mongodb shell(数据库操作界面) : 1).在mongodb的bin目录下输入./mongo,默认连接test数据库,连接成功会显示数据库版本和当前连接的数据库名,如图: 2). ...
- Linux开机启动图片修改
Linux启动时会在屏幕上显示一个默认的开机图片,我们可以修改成为自己的图片,需要做以下工作 软件gimp下载地址:http://www.rayfile.com/zh-cn/files/0bb556b ...
- MiniGUI + Hi3531 笔记 .
一.移动光驱安装Ubuntu 10.04 1. 重启系统按住Delete进入BIOS界面! 2. 退出/高级模式 --> 启动 --> 启动设备选择. 移动光驱正常被识别后这里应该 ...
- Linux显示以时间降序显示文件
Linux显示以时间降序显示文件 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ls -lrt 总用量 56 -rw-r--r-- 1 youhaidong ...
- python中的迭代器&&生成器&&装饰器
迭代器iterator 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束. 迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外, ...
- OpenStack_I版 2.keystone部署
生成keystone默认证书,指定用户 修改keystone主配置文件 第625行,修改数据库连接方式 修改完成同步数据库 同步完成可以查看数据库是否有表生成 为了以后调试keystone方便,现 ...
- CF Educational Round 23 F.MEX Queries
写了3小时 = =.这两天堕落了,昨天也刷了一晚上hihocoder比赛,还爆了零.之后得节制点了,好好准备考研.. 首先很容易想到 压缩数据 + 线段树 然后对于Pushdown真很难写..需要牵涉 ...
- eclipse - The superclass "javax.servlet.http.HttpServlet" was not found on the Java
- 杜教筛:Bzoj3944: sum
题意 求\(\sum_{i=1}^{n}\varphi(i)和\sum_{i=1}^{n}\mu(i)\) \(n <= 2^{31}-1\) 不会做啊... 只会线性筛,显然不能线性筛 这个时 ...