JAVA ENUM 扩展使用

2021-02-07  本文已影响0人  五洋捉鳖zz

enum

base

public enum Fruit {
    APPLE,
    ORANGE,
    BANANA;
}

Advanced 1

public enum Fruit {
    APPLE("苹果"),
    ORANGE("橘子"),
    BANANA("香蕉");

    public final String cnName;

    Fruit(String cnName) {
        this.cnName = cnName;
    }
}
System.out.ptintln(Frut.APPLE.cnName);
System.out.ptintln(Frut.ORANGE.cnName);
System.out.ptintln(Frut.BANANA.cnName);

Advance 2

public enum Fruit {
    APPLE("苹果"){
        @Override
        public void preHandle() {
            super.preHandle();
            System.out.println("啊啊啊,我被削皮了");
        }
    },
    ORANGE("橘子"){
        @Override
        public void preHandle() {
            super.preHandle();
            System.out.println("啊啊啊,我被剥皮了");
        }
    },
    BANANA("香蕉"){
        @Override
        public void preHandle() {
            super.preHandle();
            System.out.println("啊啊啊,我被剥皮了");
        }
    };

    public final String cnName;

    Fruit(String cnName) {
        this.cnName = cnName;
    }

    public void preHandle() {
        System.out.println(this.name() + ":开始被预处理了");
    }

    public static void main(String[] args) {
        Fruit.APPLE.preHandle();
    }
}
Connected to the target VM, address: '127.0.0.1:62224', transport: 'socket'
APPLE:开始被预处理了
啊啊啊,我被削皮了
Disconnected from the target VM, address: '127.0.0.1:62224', transport: 'socket'

🤷♂️是不是很神奇,有没有些顿悟啦,是不是很多操作都可以用这种方法标记呢?

上一篇 下一篇

猜你喜欢

热点阅读