java编程枚举类型那些事!枚举类型定义和重写枚举的方法
时间:2019-04-07
本文章向大家介绍java编程枚举类型那些事!枚举类型定义和重写枚举的方法,主要包括java编程枚举类型那些事!枚举类型定义和重写枚举的方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
什么是枚举类型
枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中。
而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义相似。不过相比较常量类型,枚举类型可以为申明的变量提供更大的取值范围。
简单的枚举类型定义
假如你希望创建一个颜色库,你可以这样定义枚举类型
enum Color {red, green, yellow, black};
然后你就可以使用它
Color T = Color.red; if (T == Color.red) System.out.println("i am red"); switch(T) { case red: System.out.println("i am red"); break }
定制枚举类型
在C/C++中,我们可以这样使用枚举变量
enum color {red,green}; enum color a = 1;// a is green
在Java中定义枚举类型的值
enum color { red(1),green(2); private final int number; color(int i) { this.number = i; } public getValue() { return this.number; } }
然后使用 T.getValue() 便可获取绑定的值
重写枚举的方法
枚举类给我们提供的方法有,具体可以查看Enum.java
name, toString, valueOf //获取名字 equals //比较 ordinal //获取位置
实现接口
所有的枚举都继承自java.lang.Enum类。
由于Java 不支持多继承,所以枚举对象不能再继承其他类,但是可以实现接口
Test
enum number { zero(0),one(1),two(2); int n; number(int i) { this.n = i; } public int getValue(){ return this.n; } } interface People_State { String getState(); State_Enum ChangeState(); } enum State_Enum implements People_State { normal("正常"), stop("停止"); private final String state; State_Enum(String s) { this.state = s; } public String toString() { return state; } @Override public String getState() { return state; } @Override public State_Enum ChangeState() { if (this == normal) return stop; else return normal; } } public class Test_Enum { public static void main(String[] args) { number z = number.zero; State_Enum state = State_Enum.normal; System.out.println(z.getValue()); System.out.println(z); System.out.println(number.one); switch (z) { case zero: System.out.println(0); break; case one: System.out.println(1); break; case two: System.out.println("2"); break; } //equals if (z.equals(number.one)) { System.out.println("equal!"); } else { System.out.println("unequal"); } //valueOf System.out.println(number.valueOf("zero")); //ordinal System.out.println(z.ordinal()); //the index of values System.out.println(state.toString()); state = state.ChangeState(); System.out.println(state.getState()); } }
Output
0 zero one 0 unequal zero 0 正常 停止
总结
以上就是本文关于java编程枚举类型定义和重写枚举的方法的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Java编程long数据类型的使用问题、java编程基础之模仿用户登录代码分享等,有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对本站的支持!
- 多线程编程:多线程并发制单的开发记录【一】
- 如何使用线程锁来提高多线程并发效率
- 如何在分布式环境中同步solr索引库和缓存信息
- 如何在分布式环境中同步solr索引库和缓存信息
- Info模式下的隐形杀手(SpringMVC同时使用<mvc:resources.../>和FormattingConversionServiceFactoryBean时出现的问题)
- 关于web.xml3.0启动报错
- [机器学习]-[数据预处理]-中心化 缩放 KNN(一)
- 信息安全不可或缺应用交付 还需安全交付
- 一张图带你看懂区块链项目生态
- python环境的安装
- python爬虫抓取网易云音乐歌词
- 区块链学堂——“遇见”拜占庭将军
- NVIDIA把消费级显卡拒绝在数据中心门外
- 保护好手中的比特币,比特币诈骗又见新花样!
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 强网杯-随便注
- LeetCode 1547. Minimum Cost to Cut a Stick(动态规划)
- 管道符漏洞
- 06-STM32+ESP8266+AIR202远程升级方案-移植STM32+ESP8266实现利用http或https远程更新STM32程序到自己的项目(定时访问升级,备份升级)
- 反射
- 记一次sys 数据库的修复
- 使用Django管理数据库表
- php学习day3
- mysqlbinlog命令详解
- XtraBackup工具详解 Part 9 innobackupex命令总结
- ctfhub-信息泄露-Git泄露
- php学习day2
- mysqlbinlog命令详解MySQL 5.7 常用命令
- Linxu系统安装PHP
- linux sed命令详解