Java -- 枚举
温馨提示 :所有自定义的枚举类都默认继承 java.lang.Enum 类,本节内容结合 java.lang.Enum 类进行讲解,切勿混淆
1、定义一个枚举类,枚举的实例定义必须是大写
2、枚举类不可以 new 实例对象,因为自定义的枚举,都默认继承 Enum 类,且 Enum 类是抽象类,所以不可以产生实例
Enum 类
举个例子:
3、switch 支持枚举类型
执行结果
4、Enum 类中的 ordinal 属性及相关方法
举个例子:
5、Enum 类中与 name 有关的方法
name() 方法
toString() 方法
valueOf() 方法
举个例子:
6、Enum 类中的跟比较有关的方法
equals() 方法
compareTo() 方法
举个例子:
7、Enum 类中的其他方法
getDeclaringClass() 方法
举个例子:
8、valus() 方法
它的作用是 把枚举的属性,都变成一个数组;此方法在源码中并不存在,是编译器自己生成的静态方法
举个例子:
9、在 IDEA 创建一个枚举类
**注意:**1、所有枚举类的构造函数必须是私有的,默认为私有的
2、当给构造函数添加参数的时候,属性会报错,因为 RED、GREEN 等就是实例,必须给它们加参数
10、枚举与反射
在上面,明明刚创建了含有两个参数的私有构造函数,这里却报错,为什么呢?这里有一个面试题:
普通类把构造函数私有化,虽然外部无法直接 new 对象,但依然可以通过反射访问该类私有构造函数生成对象。但是枚举的构造函数只能是私有的,得到这个构造函数之后,却不能通过 newInstance() 得到实例?
我们来打印所有的构造函数,看有没有两个参数的构造函数
发现有四参数构造函数,那我们就用反射访问一下四个参数的构造函数函数试试
结果是枚举通过反射根本 newInstance() 不出实例,可以看出用枚举去实现单例模式很安全
Constructor 中的 newInstance() 方法源码
Java -- 枚举相关推荐
- java 枚举的继承_java中枚举类可以被继承吗?
java 枚举类 java中,使用关键字enum来定义枚举类,枚举类是一个特殊的类,大部分功能和普通类是一样的,区别为: ● 枚举类继承了java.lang.Enum类,而不是默认的Object类.而 ...
- Java枚举类使用方式
Java枚举类使用方式 单枚举定义 : /*** * @title: 单枚举定义* @author: wll* @since: 2021-1-27 14:47:54*/ public enum Jud ...
- 比起睡觉,我更喜欢刷巨详细的Java枚举类,这是来自猿人的自觉呀
零基础学习之Java枚举类 概述 JDK1.5之前 创建枚举类 代码示例 JDK1.5之后 创建枚举类 代码示例 枚举类继承父类 基本介绍 代码示例 枚举类实现接口 基本介绍 代码示例 枚举类实现单例 ...
- 你一定需要知道的高阶JAVA枚举特性!
JAVA枚举,比你想象中功能还要强大! 我经常发现自己在Java中使用枚举来表示某个对象的一组值. 在编译时确定类型可以具有什么值的能力是一种强大的能力,它为代码提供了结构和意义. 当我第一次了解枚举 ...
- Java枚举原来还能这么用
点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 前言 相信不少java开发者写过状态变更的业务,比如订单流程.请假流程等等.一般会搞一个状态 ...
- java 注解 enum_13 Java枚举和注解
Java枚举 在某些情况下,一个类的对象是有限而且固定的.例如季节类,只能有 4 个对象. 当类的对象是有限时,就应该使用枚举,而不使用普通类.(枚举对象是单例模式) 枚举的属性 实现接口的枚举类 例 ...
- java 枚举(enum) 详细用法
用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. p ...
- Java 枚举:实现接口
http://blog.csdn.net/veryitman/article/details/7945949 所有的枚举类都继承自 Enum,因为 Java 不支持多继承,所以枚举无法继承其它类. 但 ...
- java枚举使用详解
http://www.cnblogs.com/linjiqin/archive/2011/02/11/1951632.html java枚举使用详解 在实际编程中,往往存在着这样的"数据集& ...
- 【转】Java 枚举7常见种用法
原文网址:http://softbeta.iteye.com/blog/1185573 Java 枚举7常见种用法 博客分类: java java枚举enmu 原创地址:http://blog.li ...
最新文章
- linux crond命令
- 雨棚板弹性法计算简图_钢结构工程量计算、报价要点
- makemid+matlab,《MATLAB基础》双语课
- 【Manacher】【贪心】字符串连接(金牌导航 Manacher-4)
- 第二十期:核心交换机的链路聚合、冗余、堆叠、热备份
- python split函数 空格_Python随笔29:Python基础编程练习题23~24
- 《Python Cookbook 3rd》笔记(5.1):读写文本数据
- 正则表达式【第二卷】
- JavaScript中call,apply,bind方法的总结。
- 不应被忽视的医院终端安全建设
- HenCoder UI 部分 2-1 布局基础
- rpgmv存档修改html_使用HTML5存档网站内容更改
- HBuilderX搭建Vue项目
- 快速搜索Wox工具之Everything Service没有运行报错,解决办法!
- ftp服务器文件只读,ftp服务器只读
- 一维码识别技术与二维码识别技术
- UE4 C++基础回顾2
- 面阵相机行业研究分析报告
- Unity Shader UV动画之高光材质加上透明材质与UV动画
- mongodb重置密码