Java——枚举

1.什么是枚举

枚举一般用于值少且固定不变的情况下,它的每一个属性都是这个枚举类的实例对象

2.枚举的声明

访问修改符 enum 枚举类名 {
    枚举属性;
}

注意:最后的这个分号如果后面没有别的方法或属性,那么这个分号可以省略,否则分号不能省略。一般来说都会把分号带上

例如:定义一个表示性别的枚举类型 SexEnum 和一个表示颜色的枚举类型 Color

public enum SexEnum {
    Male, Female
}

使用我们创建的枚举

public class SexEnumDemo {
    public static void main(String[] args) {
        System.out.println(SexEnum.Male);
        System.out.println(SexEnum.Male.name());
    }
}

 上述代码都会执行后输出 Male ,从输出的结果可以发现,执行 SexEnum.Male 和 SecEnum.Male.name() 是等效的,其实在底层,当我们执行 SexEnum.Male 时,它会调用 name() 方法

总结:每个枚举对象都有一个 name() 方法来输出这个枚举对象的对应的值

3.枚举类方法

Java 中的每一个枚举都继承自 java.lang.Enum 类。当定义一个枚举类型时,每一个枚举类型成员都可以看作是 Enum 类的实例,这些枚举成员默认都被 final、public, static 修饰,当使用枚举类型成员时,直接使用枚举名称调用成员即可

所有枚举实例都可以调用 Enum 类的方法,常用方法如下图所示

4.为枚举添加方法

Java 为枚举类型提供了一些内置的方法,同时枚举常 也可以有自己的方法。此时要注意必须在枚举实例的最后一个成员后添加分号,而且必须先定义枚举实例
例如:创建一个枚举类型 Season,而且在该类型中添加了自定义的方法
enum Season {
    Spring, Autumn, Summer, Winter;
    public void print(String name) {
        switch (name) {
            case "Spring":
                System.out.println("春天花会开");
                break;
            case "Summer":
                System.out.println("夏日炎炎");
                break;
            case "Autumn":
                System.out.println("秋天黄叶");
                break;
            case "Winter":
                System.out.println("冬天白雪");
                break;
        }
    }
}
public class SeasonDemo {
    public static void main(String[] args) {
        Season.Spring.print(Season.Winter.name());
    }
}

5.在枚举中定义属性和构造方法

注意:枚举中的构造方法是私有的

enum Sing {
    Red(1, "红灯"), Green(2, "绿灯"), Yellow(3, "黄灯");
    private int num;
    private String name;
    Sing(int num, String name) {
        this.num = num;
        this.name = name;
    }
    public int getNum() {
        return num;
    }
    public String getName() {
        return name;
    }
}
public class SingDemo {
    public static void main(String[] args) {
        System.out.println(Sing.Red.getNum() + " " + Sing.Red.getName());
    }
}

6.总结

1.需要使用 enum 关键字修饰,被 enum 关键字修饰的类是 Enum 类的子类

2.枚举中每一个元素都是枚举类的对象或者叫实例对象

3.枚举类中的元素需要定义在第一行,多个之间用逗号分隔,最后的分号可以加上,也可以不用

4.枚举类中有构造方法

5.枚举类可以实现接口,同时需要每个元素重写接口中的方法

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值