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 + '\'' +
                '}';
    }
}
相关推荐
2301_7807896623 分钟前
跨平台适配!SDK 游戏盾兼容全终端游戏场景
java·网络·ddos
第九序言T38 分钟前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
学长毕设1 小时前
基于springboot的食品仓库管理系统
java·spring boot·后端
步行cgn2 小时前
FormHttpMessageConverter 详解:Spring MVC 中表单数据的读写转换器
java·spring·mvc
龙亘川2 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
金銀銅鐵2 小时前
[Java] 用 CLI 展示 EnumMap 增删键值对时的内部变化
java·源码·ai编程
程序喵大人2 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
秋天的怀念_David2 小时前
第二十二夜 · 数字迷雾
java·程序人生·算法
Raas1003 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
niucloud-admin3 小时前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php