博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java面试知识点(二十九)Java枚举类enum
阅读量:3782 次
发布时间:2019-05-22

本文共 1238 字,大约阅读时间需要 4 分钟。

枚举类enum

示例代码

enum Color{
RED,BLUE,YELLOW;}

enum 和 class、interface 的地位一样

枚举(enum)类型是 Java 5 新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全(类型安全的代码不会试图访问自己没被授权的内存区域)的形式来表示。

使用 enum 定义的枚举类默认继承了 java.lang.Enum,而不是继承 Object 类。枚举类可以实现一个或多个接口。

枚举类的所有实例都必须放在第一行展示,不需使用 new 关键字,不需显式调用构造器。自动添加 public static final 修饰。

使用 enum 定义、非抽象的枚举类默认使用 final 修饰,不可以被继承。

枚举类的构造器只能是私有的。

示例代码

enum Color{
RED,BLUE,YELLOW; Color(){
System.out.println("this is enum constructor"); }}class testClass{
public testClass(){
System.out.println("this is common class"); }}public class testEnum {
public static void main(String args[]){
System.out.println(Color.RED); }}

执行结果:

this is enum constructor
this is enum constructor
this is enum constructor
RED

示例代码

package enumcase;public enum SeasonEnum {
SPRING("春天"),SUMMER("夏天"),FALL("秋天"),WINTER("冬天"); private final String name; private SeasonEnum(String name) {
this.name = name; } public String getName() {
return name; }}

实际上在第一行写枚举类实例的时候,默认是调用了构造器的,所以此处需要传入参数,因为没有显式申明无参构造器,只能调用有参数的构造器。

构造器需定义成私有的,这样就不能在别处申明此类的对象了。枚举类通常应该设计成不可变类,它的 Field 不应该被改变,这样会更安全,而且代码更加简洁。所以我们将 Field 用 private final 修饰。

转载地址:http://mslvn.baihongyu.com/

你可能感兴趣的文章
Windows消息:如何自定义窗口消息与线程消息
查看>>
Windows消息:怎样使用RegisterWindowMessage注册消息
查看>>
CreateCompatibleDC 与 CreateCompatibleBitmap 小小结
查看>>
MultiSlider组件
查看>>
vc实现透明位图,透明背景
查看>>
TransparentBitmap函数设置透明位图的原理分析
查看>>
透明位图的显示(TransparentBlt函数)
查看>>
关于CBitmap,LoadBitmap 的使用
查看>>
绘图控件第五讲——绘制动态曲线
查看>>
ST_Curve --- 一个专业的曲线绘制控件
查看>>
基于MFC串口编程和曲线图绘制(visual studio2008,Teechart绘图控件)的程序总结
查看>>
VS2010MFC - TeeChart经验总结(零基础入门到动态创建)
查看>>
Teechart动态设计方法
查看>>
MFC下绘制曲线工具Teechart使用
查看>>
关于conda和anaconda不可不知的误解和事实——conda必知必会
查看>>
一文教你如何用Python预测股票价格
查看>>
Windows 下,使用 Pycharm + Anaconda(NumPy,SciPy 等集成包)的环境配置
查看>>
基于Python预测股价的那些人那些坑,请认真看完!
查看>>
stocker模块量化交易分析
查看>>
pycharm 教程(一)安装和首次使用
查看>>