枚举类的写法

简介: 传统的写一个季节类,然后有一个季节名字和描述,并为属性设置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

目录
相关文章
|
分布式计算 Java 数据安全/隐私保护
Kotlin 学习笔记(二)—— 数据类、枚举类、循环、常用集合及操作符的写法(下 )
Kotlin 学习笔记(二)—— 数据类、枚举类、循环、常用集合及操作符的写法(下)
76 0
|
3月前
|
Java 编译器
|
7月前
|
Java 编译器
枚举类的使用
枚举类的使用
|
7月前
|
Java 编译器
[java进阶]——泛型类、泛型方法、泛型接口、泛型的通配符
[java进阶]——泛型类、泛型方法、泛型接口、泛型的通配符
|
7月前
|
Java Go
【Java 泛型方法】泛型方法的定义和使用,泛型的通配符和泛型的上下限,泛型的注意事项
【Java 泛型方法】泛型方法的定义和使用,泛型的通配符和泛型的上下限,泛型的注意事项
|
Java Kotlin
Kotlin 学习笔记(二)—— 数据类、枚举类、循环、常用集合及操作符的写法(上)
Kotlin 学习笔记(二)—— 数据类、枚举类、循环、常用集合及操作符的写法(上)
69 0
常用的一些枚举类
常用的一些枚举类
81 0
|
测试技术 C语言 C++
C++11之强类型转换(枚举类)
C++11之强类型转换(枚举类)
413 0
|
缓存 Dart 安全
Dart中的类——初始化列表、命名构造器、factory构造器、常量构造器、构造器私有化、get和set方法、枚举
Dart中的类——初始化列表、命名构造器、factory构造器、常量构造器、构造器私有化、get和set方法、枚举
Java进阶:【泛型】认识泛型,泛型方法,泛型类,泛型接口和通配符(1)
Java进阶:【泛型】认识泛型,泛型方法,泛型类,泛型接口和通配符(1)
Java进阶:【泛型】认识泛型,泛型方法,泛型类,泛型接口和通配符(1)