Java枚举类的部分使用

public enum Day {
   MonDay("111"), TuesDay("222"),WesDay("333");


   private String name;

    Day(String name) {
        this.name = name;
    }
    void wdaynum(){
        System.out.println(name);
    }
}

把class换成enum 定义枚举时 要写在变量和方法前面

import java.util.ArrayList;

//接下来实现多态传递

// TIP 要<b>运行</b>代码,请按 <shortcut actionId="Run"/> 或
// 点击装订区域中的 <icon src="AllIcons.Actions.Execute"/> 图标。
public class Main {
    public static  void main(String[] args) {

        System.out.println(Day.MonDay);
        Day.MonDay.wdaynum();
    }
}

输出结果时Monday 

111

### Java枚举类型的定义与使用 #### 定义枚举类型 在 Java 中,可以通过 `enum` 关键字来定义枚举类型。枚举本质上是一个特殊的类,它继承自 `java.lang.Enum` 类[^2]。以下是定义枚举类型的语法: ```java public enum Color { RED, GREEN, BLUE; } ``` 上述代码中,`Color` 是一个枚举类型,包含了三个常量:`RED`, `GREEN`, 和 `BLUE`。 如果需要为枚举类型添加额外的功能,则可以在枚举值之后定义字段、构造函数和方法。需要注意的是,任何变量或方法的声明都必须位于所有枚举值定义之后[^3]。 以下是一个更复杂的例子,展示了如何为枚举类型添加属性和行为: ```java public enum Planet { MERCURY(3.30E23), VENUS(4.87E24), EARTH(5.98E24); private final double mass; // 构造函数 Planet(double mass) { this.mass = mass; } public double getMass() { return mass; } } ``` 在这个例子中,`Planet` 枚举不仅定义了几个行星名称作为常量,还为其赋予了一个质量属性,并提供了一个获取该属性的方法。 --- #### 使用枚举类型 一旦定义好枚举类型,就可以像其他对象一样对其进行操作。下面是一些常见的用法示例: ##### 获取枚举实例 可以直接通过枚举名访问其具体实例: ```java Color color = Color.RED; System.out.println(color); // 输出: RED ``` ##### 判断相等性 可以使用 `==` 或者 `.equals()` 方法判断两个枚举实例是否相同: ```java if (color == Color.GREEN) { System.out.println("The color is green."); } else { System.out.println("Not green."); } ``` ##### 遍历枚举项 利用 `values()` 方法可以获得当前枚举的所有可能取值列表: ```java for (Color c : Color.values()) { System.out.println(c); } // 输出: // RED // GREEN // BLUE ``` ##### 调用枚举中的方法 对于带有方法的复杂枚举,可以直接调用这些方法: ```java double earthMass = Planet.EARTH.getMass(); System.out.println("Earth's mass: " + earthMass); ``` --- #### 枚举类型的注意事项 1. **线程安全性**:由于枚举的每个实例都是单例模式实现的一部分,在多线程环境下非常安全[^1]。 2. **不可变性**:默认情况下,枚举是不可变的对象,因此适合用于表示固定集合的数据集。 3. **扩展限制**:尽管技术上允许子类化某些功能,但通常不建议这样做,因为这违背了设计初衷——即保持简单性和一致性。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值