枚举
就是其字面意思,我们给出一个限定的集合,同时将他也定义成一个类,枚举类可以有自己的属性,有自己的构造方法,特别注意枚举类是默认有public final修饰。
定义类
package com.Task;
/**
* @author i'li'ke'stay
*/
public enum Status {
//直接填写上预定义的内容
//存在static,final修饰
RUNNING("跑步"),STUDY("学习"),SLEEP("睡觉");
//枚举类的属性
private final String name;
//构造方法
Status(String name){
this.name = name;
}
//访问方法
public String getName() {
return name;
}
}
package com.Task;
/**
* @author WangYH
* @version 2021.1.3
* @date 2023/3/28 22:12
*/
public class Student {
/**
* 记录一个状态
* 我们更加希望开发者使用我们预先定义好的状态
* 若是自定义的话会出现许多意想不到的状况
* 这个时候,枚举类就该上场了
*/
private Status status;
public Status getStatus() {
return status;
}
public void setStatus(Status status) {
this.status = status;
}
}
测试类
package com.Task;
/**
* @author WangYH
* @version 2021.1.3
* @date 2023/3/28 22:15
*/
public class Main {
public static void main(String[] args) {
//枚举是一个类
//继承自Enum类
Student stu = new Student();
stu.setStatus(Status.SLEEP);
System.out.println(stu.getStatus());
Status sta = Status.valueOf("RUNNING");
System.out.println(sta);
Student stu1 = new Student();
stu1.setStatus(Status.STUDY);
System.out.println(stu1.getStatus().getName());
//枚举就可以按照我们想要的中文来打印了
}
}