首页 > 代码库 > 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枚举 简单的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。