枚举类的写法

简介: 传统的写一个季节类,然后有一个季节名字和描述,并为属性设置get set方法。在主方法中我们可以随意设置季节名字,但是我们知道这是不合适的,因为我们知道只有4个季节所以我们可以设置为一个枚举类

传统的写一个季节类,然后有一个季节名字和描述,并为属性设置get set方法。


在主方法中我们可以随意设置季节名字,但是我们知道这是不合适的,因为我们知道只有4个季节


所以我们可以设置为一个枚举类(只读不改)


枚举


是一组常量的集合,是一种特殊类,只包含一组有限的特定对象。


枚举的2种实现方式


(1)自定义类实现

1.将构造器私有化,防止实例化对象

2.去除set方法,保留get方法,防止属性被修改

3.在该类直接创建固定的公有静态的该类对象,有几个枚举就创建几个对象(即使构造器私有,在该类内部可以访问)

4.重写toString方法,然后打印对象即可输出内容

5.优化:使用静态属性会导致类的加载,所以可以加入final修饰符,优化代码,不会导致类的加载

public static Season SPRING=new Season("春天","温暖");
...
...
public static Season WINTER=new Season("冬天","寒冷");

(2)enum关键字


1.用enum代替class


2.常量名(实参列表)


3.多个常量用逗号间隔,最后一个带分号


4.定义的枚举常量必须写在类内部的最前面


5.构造器必须为私有


6.用enum关键词后,就不可以继承其他类了,因为会隐式继承Enum类,单继承机制可以实现接口


7.里面的常量都是public static final

目录
相关文章
|
6月前
属性的写法
属性的写法
|
分布式计算 Java 数据安全/隐私保护
Kotlin 学习笔记(二)—— 数据类、枚举类、循环、常用集合及操作符的写法(下 )
Kotlin 学习笔记(二)—— 数据类、枚举类、循环、常用集合及操作符的写法(下)
70 0
|
2月前
|
Java 编译器
|
6月前
|
XML 并行计算 Java
反射、枚举和lambda表达式
反射、枚举和lambda表达式
|
6月前
|
Java
JavaSE&关键字,接口,代码块,枚举
JavaSE&关键字,接口,代码块,枚举
34 2
|
6月前
|
Java 编译器
枚举类的使用
枚举类的使用
|
Java 索引
枚举类 - 自定义枚举类与使用enum关键字
枚举类 - 自定义枚举类与使用enum关键字
118 0
|
Java Kotlin
Kotlin 学习笔记(二)—— 数据类、枚举类、循环、常用集合及操作符的写法(上)
Kotlin 学习笔记(二)—— 数据类、枚举类、循环、常用集合及操作符的写法(上)
62 0
|
Java 编译器 C++
常量接口 vs 常量类 vs 枚举区别
把常量定义在接口里与类里都能通过编译,那2者到底有什么区别呢?
69 0
|
设计模式 JSON Java
枚举类——用好枚举真的没有那么简单!
枚举类——用好枚举真的没有那么简单!
100 0
下一篇
无影云桌面