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 + '\'' +
                '}';
    }
}
相关推荐
Yyyyyy~8 分钟前
【C++】数组篇
开发语言·c++
qq_3331209712 分钟前
C++高并发内存池的整体设计和实现思路_C 语言
java·c语言·c++
牛肉在哪里13 分钟前
ros2 从零开始27 编写广播C++
开发语言·c++·机器人
mh_f16 分钟前
33.批量通过GET链接下载图片到指定文件夹下
java
金銀銅鐵17 分钟前
[Java] 如何理解 class 文件中方法的 access flags?
java·后端
智研数智工坊18 分钟前
SpringBoot4.0.6 + Security7.x + JWT 最新完整实战|无状态权限认证、统一异常处理、可直接落地
java·spring boot·spring security·jwt·权限认证
DIY源码阁21 分钟前
JavaSwing宿舍管理系统 - MySQL版
java·数据库·mysql·eclipse
Han_han91922 分钟前
递归相关题目:
java
yong999028 分钟前
基于Qt的文件传输系统
开发语言·qt
yuan1999728 分钟前
基于 MATLAB PSO 工具箱的函数寻优算法
开发语言·算法·matlab