1.自定义枚举类
实现顺序:
1.构造器私有化--》防止直接new出来对象
2.只提供get方法不提供set方法——》防止修改属性值
3.在当前类中实例化对象并且设置为静态和final——》静态—》方便访问,final—>防止所有类的加载
/**
* @version 1.0
* function:
* @author:阿卜杜赛麦提
* @date:2023/1/1 15:03
*/
public class Season01 {
private String name;
private String describe;
private Season01(String name, String describe) {
System.out.println("类加载了");
this.name = name;
this.describe = describe;
}
public String getName() {
return name;
}
public String getDescribe() {
return describe;
}
@Override
public String toString() {
return "Season01{" +
"name='" + name + '\'' +
", describe='" + describe + '\'' +
'}';
}
public final static Season01 SPRING = new Season01("春天", "温暖");
public final static Season01 WINTER = new Season01("冬天", "冷");
public final static Season01 AUTUMN = new Season01("夏天", "热");
public final static Season01 SUMMER = new Season01("秋天", "凉爽");
} final
class Main01{
public static void main(String[] args) {
System.out.println(Season01.SPRING);
}
}
2.默认枚举类
实现顺序:
1.构造器私有化--》(默认就是私有的)private也可以不用写。
2.只提供get方法不提供set方法——》防止修改属性值。
3.对象列表必须放在当前类的第一行,如果有多个对象用逗号分隔最后来分号结束。
/**
* @version 1.0
* function:
* @author:阿卜杜赛麦提
* @date:2023/1/1 15:22
*/
public enum Season02 {
//四季
SPRING ("春天", "温暖"),WINTER ("冬天", "冷"),AUTUMN ("夏天", "热"),SUMMER ("秋天", "凉爽");
private String name;
private String describe;
Season02(String name, String describe) {
this.name = name;
this.describe = describe;
}
public String getName() {
return name;
}
public String getDescribe() {
return describe;
}
@Override
public String toString() {
return "Season02{" +
"name='" + name + '\'' +
", describe='" + describe + '\'' +
'}';
}
}
class Main02{
public static void main(String[] args) {
System.out.println(Season02.SPRING);
}
}