3月17枚举
package com.fangfa.day05.Enum; public class EnurmerDemo1 { public static void main(String[] args) { //为什么其他类里可以类名.对象名 因为这个对象名被static修饰了 //若不修饰不行 System.out.println(Season.SPRING); } } class Season{ /** * Description * author Mao Reed * version 1.17.0 * date 2026/3/27 15:28 * 之所以能在 Season 内部调用 new Season(...) * 是因为构造器被 private 修饰只能在 Season 类的内部访问。 * 这种写法是手动实现枚举效果的一种常见方式通过私有构造器和预定义的静态常量来限制对象个数。 * * * 构造器是 private 的因此只能在 Season 类的内部调用 new Season(...)外部无法直接实例化。 * * 类内部通过 public static 常量提前创建好有限的几个对象例如 SPRING、SUMMER 等 * 外部可以通过 Season.SPRING 访问。 */ private String name ; private String desc; public static final Season SPRING new Season(春天,温暖); public static final Season SUMMER new Season(夏天,炎热); public static final Season AUTUMN new Season(秋天,凉爽); public static final Season WINTER new Season(冬天,寒冷); //构造器私有 //去掉setXX方法防止属性被修改 private Season(String name, String desc) { this.desc desc; this.name name; } public String getDesc() { return desc; } public String getName() { return name; } //setName 是一个典型的 setter 方法设置器用于在对象创建之后修改对象的某个属性值 // public void setName(String name) { // this.name name; // } public void setDesc(String desc) { this.desc desc; } Override public String toString() { return Season{ name name \ , desc desc \ }; } }