3月17枚举

java 复制代码
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 + '\'' +
                '}';
    }
}
相关推荐
大圣编程6 小时前
Java 多维数组详解
java·开发语言
万法若空9 小时前
【算法-查找】查找算法
java·数据结构·算法
殳翰9 小时前
下服务器端开发流程及相关工具介绍(C++)
开发语言·c++
落寞的星星9 小时前
这个对象就包含了已经转换好的DFA和各种词法分析器运转所需要的参数。下一步,我们就可以用ScannerInfo对象创建出Scanner对象,请看下面的代码:
开发语言·c#
nothing&nowhere10 小时前
用 Python 做问卷数据清洗:无效样本检测与处理实战
开发语言·python·数据清洗·数据处理·问卷星·问卷星脚本·刷问卷
2601_9615934210 小时前
Rust 开发环境配置繁琐?RustRover 开箱即用搞定编码调试
开发语言·后端·macos·rust
HZZD_HZZD11 小时前
DL/T 645-2026新国标深度解读与智能电表协议适配实战:从帧结构变化到Java采集器升级的全链路改造方案
java·开发语言
多加点辣也没关系13 小时前
JavaScript|第4章:类型转换
开发语言·javascript
聪慧的水蜜桃13 小时前
【YFIOs】用C#开发硬件之设备上云
开发语言·c#