java枚举类

java枚举类

格式

1、枚举常量定义

枚举常量的定义必须写在在枚举类的开头,
每个枚举常量命名格式一般为大写字母,多个单词用 ‘_’ 分割,
可以通过构造器的方式为枚举常量设置属性,在每个枚举常量后面用括号加上属性的值,格式必须与构造器的格式一致

 	//定义枚举常量,必须写在枚举类的开头
    APPLE(1, "苹果"), BANANA(2, "香蕉"), PEAR(3, "梨"), ORANGE(4, "橘子");
    ...
    //构造器,必须与定义的格式一致
    FruitEnum(Integer id, String name) {
        this.id = id;
        this.name = name;
    }
    ...

2、属性定义

可以为枚举常量设置属性,一般必须含有构造器的参数

	...
	//枚举的属性,对应每个枚举元素的各个属性
    private final Integer id;
    private final String name;
    //构造器,必须与定义的格式一致
    FruitEnum(Integer id, String name) {
        this.id = id;
        this.name = name;
    }
    ...

3、构造器

与实体类的构造方法类似

	...
    //构造器,必须与定义的格式一致
    FruitEnum(Integer id, String name) {
        this.id = id;
        this.name = name;
    }
    ...

4、自定义方法

自定义操作方法,可以为属性设置get方法,也可以设置其他的自定义方法

	...
	//自定义方法,获取具体某个属性
    public Integer getId() {
        return id;
    }

    public String getName() {
        return name;

    }

    //自定义方法
    public String eat() {
        return "吃了一个" + this.name;
    }


    @Override
    public String toString() {
        return "FruitEnum{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }

枚举类完整代码

package com.hsh.maoduo.enums;

import java.util.Arrays;

public enum FruitEnum {
    //定义枚举常量,必须写在枚举类的开头
    APPLE(1, "苹果"), BANANA(2, "香蕉"), PEAR(3, "梨"), ORANGE(4, "橘子");

    //枚举的属性,对应每个枚举元素的各个属性
    private final Integer id;
    private final String name;

    //构造器,必须与定义的格式一致
    FruitEnum(Integer id, String name) {
        this.id = id;
        this.name = name;
    }

    //自定义方法,获取具体某个属性
    public Integer getId() {
        return id;
    }

    public String getName() {
        return name;

    }

    //自定义方法
    public String eat() {
        return "吃了一个" + this.name;
    }


    @Override
    public String toString() {
        return "FruitEnum{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }

    public static void main(String[] args) {
        System.out.println("获得所有枚举常量↓↓↓↓↓↓↓↓↓↓↓↓");
        //枚举类自带的values(),获得所有的枚举常量,返回FruitEnum[]
        System.out.println(Arrays.toString(FruitEnum.values()));
        //不建议使用某个枚举常量调用values()方法,效果与整个枚举类调用values()方法效果一致
        System.out.println(Arrays.toString(FruitEnum.APPLE.values()));

        System.out.println("获得指定枚举常量↓↓↓↓↓↓↓↓↓↓↓↓");
        //获得指定枚举常量
        System.out.println(FruitEnum.APPLE);
        //获枚举类自带的valueOf(),获得指定的枚举常量,返回FruitEnum
        System.out.println(FruitEnum.valueOf("PEAR"));
        //不建议使用某个枚举常量调用valueOf()方法,效果与整个枚举类调用valueOf()方法效果一致
        System.out.println(FruitEnum.APPLE.valueOf("PEAR"));

        System.out.println("获得指定枚举常量的具体属性的值↓↓↓↓↓↓↓↓↓↓↓↓");
        System.out.println(FruitEnum.APPLE.getId());
        System.out.println(FruitEnum.APPLE.getName());
        System.out.println("调用指定枚举常量的自定义方法↓↓↓↓↓↓↓↓↓↓↓↓");
        System.out.println(FruitEnum.APPLE.eat());
    }
}

测试结果

在这里插入图片描述

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值