Enums-枚举实现方法继承覆盖

emuns特殊的单例模式实例

枚举实现方法继承的写法

**
 * 类型
 *
 * @author tonfu.chia
 * @since 2019-09-05 09:53:37
 */
@Getter
public enum RecordType {

    //充值
    RECHARGE(10, "充值") {
        @Override
        public String say(Long amount) {
           System.out.println("充值金额:"+amount);
            return "充值完成";
        }
    },
    //冻结
    FREEZE(20, "冻结") {
        @Override
       public String say(Long amount) {
            System.out.println("冻结金额:"+amount);
            return "冻结完成";
        }
    },
    //解冻
    UNFREEZE(30, "解冻") {
        @Override
        public String say(Long amount) {
           System.out.println("解冻金额:"+amount);
            return "解冻完成";
        }
    },
    //消费
    CONSUME(40, "消费") {
        @Override
         public String say(Long amount) {
           System.out.println("消费金额:"+amount);
            return "消费完成";
        }
    };

    private Integer code;

    private String message;

    public abstract String say(Long amount);

    RecordType(Integer code, String message) {
        this.code = code;
        this.message = message;
    }}

可以实现根据不同枚举值实现不同操作的设计,也有人说这是枚举工厂类

你可能感兴趣的:(java)