首页 > 代码库 > Enum枚举 简单的使用

Enum枚举 简单的使用

在枚举中使用抽象方法

/** * 为枚举类定义一个抽象方法,<br/> * 这个抽象方法由不同的枚举值提供不同的实现 *  * @author wangzhu * @date 2014-9-15下午5:35:04 *  */public enum EnumOption {    PLUS {        @Override        public double eval(double x, double y) {            return x + y;        }    },    MINUS {        @Override        public double eval(double x, double y) {            return x - y;        }    },    TIMES {        @Override        public double eval(double x, double y) {            return x * y;        }    },    DIVIDE {        @Override        public double eval(double x, double y) {            return x / y;        }    };    public abstract double eval(double x, double y);}

在枚举中实现接口

 

public interface GenderDesc {    void info();}/** * 实现接口的枚举类 *  * @author wangzhu * @date 2014-9-15下午5:34:44 *  */public enum EnumGender3 implements GenderDesc {    MALE("男") {        @Override        public void info() {            System.out.println("男子标记");        }    },    FEMALE("女") {        @Override        public void info() {            System.out.println("女子标记");        }    };    private final String name;    private EnumGender3(String name) {        this.name = name;    }    public String getName() {        return this.name;    }}

备注:

// 编译通过,运行异常,因为在switch的时候真正使用的是enumGender3.ordinal()而不是enumGender3        EnumGender3 enumGender3 = null;        switch (enumGender3) {        case MALE:            System.out.println("EnumGender1 男");            break;        case FEMALE:            System.out.println("EnumGender1 女");            break;        default:            System.out.println("EnumGender1 其他");            break;        }

 

 

package com.wangzhu.enumutil;/** * 应用枚举实现的工厂方法 *  * @author wangzhu * @date 2015-1-4下午4:36:07 *  */public enum EnumFactory {    Cat {        @Override        public Animal create() {            return new Cat();        }    },    Dog {        @Override        public Animal create() {            return new Dog();        }    };    public abstract Animal create();}class Animal {}class Cat extends Animal {}class Dog extends Animal {}

Enum枚举 简单的使用