Enum枚举类使用

Enum枚举类使用

public class test {
    public static void main(String[] args){
        //values()返回枚举类型的对象数组                   //object1
        MyEnum2[] enum2s = MyEnum2.values();           //object2
        for (int i = 0; i < enum2s.length; i++) {      //object3
            System.out.println(enum2s[i]);             //object4
        }

        //valueOf(String str):可以把一个字符串转为对应的枚举类对象
        System.out.println(MyEnum2.valueOf("object2"));//object2

        //toString():返回当前枚举类对象常量的名称
        System.out.println(MyEnum2.object3.toString());//object3

    }
}
//自定义枚举类
class MyEnum1{
    //1、声明私有的final的MyEnum属性
    private final String property1;
    private final String property2;
    //2、私有化构造器
    private MyEnum1(String property1, String property2) {
        this.property1 = property1;
        this.property2 = property2;
    }
    //3、提供当前枚举类的多个对象
    public static final MyEnum1 object1 = new MyEnum1("object1","1");
    public static final MyEnum1 object2 = new MyEnum1("object2","2");
    public static final MyEnum1 object3 = new MyEnum1("object3","3");
    public static final MyEnum1 object4 = new MyEnum1("object4","4");
    //4、其他诉求:获取枚举类属性
    public String getProperty1() {
        return property1;
    }

    public String getProperty2() {
        return property2;
    }
    //4、其他诉求:toString
    @Override
    public String toString() {
        return "MyEnum{" +
                "property1='" + property1 + '\'' +
                ", property2='" + property2 + '\'' +
                '}';
    }
}
//使用Enum关键字枚举类
enum MyEnum2{
    object1,
    object2,
    object3,
    object4;
}
interface Info{
    void show();
}
//使用Enum关键字枚举类实现接口
enum MyEnum3 implements Info{
    //1、提供当前枚举类的多个对象
    object1 ("object1","1"){
        //情况一:可以分别实现不一样的
        @Override
        public void show() {
            System.out.println("可以分别实现不一样的");
        }
    },
    object2 ("object2","2"),
    object3 ("object3","3"),
    object4 ("object4","4");
    //2、声明私有的final的MyEnum属性
    private final String property1;
    private final String property2;
    //3、私有化构造器
    private MyEnum3(String property1, String property2) {
        this.property1 = property1;
        this.property2 = property2;
    }
    //4、其他诉求:获取枚举类属性
    public String getProperty1() {
        return property1;
    }

    public String getProperty2() {
        return property2;
    }
    //情况二:每个枚举对象都会调用这个方法
    @Override
    public void show() {
        System.out.println("实现接口后的show方法");
    }
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值