在枚举中使用抽象方法

/*** 为枚举类定义一个抽象方法,<br/>* 这个抽象方法由不同的枚举值提供不同的实现* * @author wangzhu* @date 2014-9-15下午5:35:04* */
public enum EnumOption {PLUS {@Overridepublic double eval(double x, double y) {return x + y;}},MINUS {@Overridepublic double eval(double x, double y) {return x - y;}},TIMES {@Overridepublic double eval(double x, double y) {return x * y;}},DIVIDE {@Overridepublic 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("男") {@Overridepublic void info() {System.out.println("男子标记");}},FEMALE("女") {@Overridepublic 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()而不是enumGender3EnumGender3 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 {@Overridepublic Animal create() {return new Cat();}},Dog {@Overridepublic Animal create() {return new Dog();}};public abstract Animal create();}class Animal {}class Cat extends Animal {}class Dog extends Animal {}

转载于:https://www.cnblogs.com/xiaoxian1369/p/4201455.html

Enum枚举 简单的使用相关推荐

  1. JAVA enum实现简单状态机功能

    (转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 我们做android应用,往往要进行多个状态的切换,就像是照相机功能的侦测,预置,拍照等状态.有的时候 ...

  2. Java中的enum枚举类

    首先说说为什么要写这个enum枚举类吧,是群里有个新手问:怎样把enum类中的值遍历得到,其实自己用的也很少.自己也是确实不知道,于是我去网上搜了不少,总结了些,希望对大家有帮助:首先我说说怎样遍历枚 ...

  3. Typescript - enum 枚举类型(数值型枚举 / 字符串枚举 / 常量枚举 / 异构枚举 / 计算枚举成员 / 联合枚举和枚举成员类型 / 运行时的枚举 / 环境枚举 / 对象与枚举)教程

    前言 Enums(枚举)是 TypeScript 的少数功能之一,它不是 JavaScript 的类型级扩展,仅支持数字的和基于字符串的枚举. 使用枚举您可以定义一组带名字的常量,并且清晰地表达意图或 ...

  4. C enum(枚举)

    本文转载自:C enum(枚举) 枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读. 枚举语法定义格式为: enum 枚举名 {枚举元素1,枚举元素2,--}; 接下来我们举个例子,比 ...

  5. 【Kotlin】Kotlin enum 枚举类 ( 常用用法 | 初始化成员变量 | 实现抽象方法 | 实现接口 | 获取名称和位置索引 | 调用枚举常量方法 )

    文章目录 I . 枚举类常用用法 II . 枚举类初始化 III. 枚举类匿名类 IV . 枚举类实现接口 V . 获取枚举常量名称和位置索引 VI . 获取枚举常量的成员变量 VII . 调用枚举常 ...

  6. 1.0 基础、标示符、常量、数据类型(enum 枚举,struct 结构体)、操作符、循环、数组...

    一.程序 现实生活中,程序是指完成某些事务的一种既定方法和过程,可以把程序看成是一系列动作执行过程的描述. 在计算机世界,程序是指令,即为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集 ...

  7. php定义枚举,PHP中Enum(枚举)用法实例详解

    本文实例讲述了PHP中Enum(枚举)用法.分享给大家供大家参考,具体如下: PHP其实有Enum类库的,需要安装perl扩展,所以不是php的标准扩展,因此代码的实现需要运行的php环境支持. (1 ...

  8. android enum java包_Android @IntDef注解取代Java enum枚举提高性能详解

    Android @IntDef注解取代Java enum枚举提高性能 为提高Android性能,Android官方建议使用@IntDef注解替代Java的enum枚举.@IntDef的使用给出一个例子 ...

  9. C语言enum(枚举)、指针、函数指针

    C enum(枚举) 枚举是c语言中的一种数据类型,定义格式为 enum 枚举名{枚举元素1,枚举元素2,......}; 用#define定义一星期七天,就要为每个整数定义一个别名 #define ...

最新文章

  1. [YTU]_2640( 编程题:运算符重载---矩阵求和)
  2. 从进程说起:容器到底是怎么一回事儿?
  3. VB100年底测试:McAfee金山遗憾出局 瑞星表现令人意外
  4. golang日期时间格式format()
  5. python3多线程实例_python3多线程糗事百科案例
  6. 如何提高gps精度_如何在锻炼应用程序中提高GPS跟踪精度
  7. python 模块 chardet下载方法及介绍
  8. python-Generalization of Hops
  9. 腾讯开源业内最大多标签图像数据集,附ResNet-101模型
  10. [转]我对CTO的理解
  11. 自己不能跑的车凭什么叫自行车?B站硬核up主把自行车做成了自动驾驶
  12. Android 12 原生播放器的编解码 Codec 2
  13. 繁星屠龙软件下载_繁星抢币有什么要求 - 天津政务网
  14. 2021-05-19 退役啦
  15. SpringBoot巧用静态内部类优雅地接收参数
  16. EKT多链技术丨多链会形成新的中心化吗
  17. moTzxx-CMS —— [一个基于PHP代码的后台管理系统(ThinkPHP5.1.40)]
  18. 预防域名dns劫持和解决
  19. PostgreSQL忘记密码
  20. linux 隐藏字符 h,shell 里面的奇葩字符实现

热门文章

  1. WF4.0 Beta1 CancellationScope 取消容器
  2. AndroidStudio_安卓原生开发_精美自定义多选控件_多选Spinner_MultiSpinner_拿来即用---Android原生开发工作笔记144
  3. AndroidStudio_安卓原生开发_保存全局数据---Android原生开发工作笔记141
  4. SpringCloud工作笔记077---SpringBoot中使用JPA操作数据库
  5. SpringCloud工作笔记040---zuul网关集合springsecurity_JWT 颁发token_但是Authorization无法传递到response的header中
  6. MPI+VS2010 配置及编译
  7. 使用setsockopt TCP_NODELAY禁用 Nagle算法
  8. mysql end case连接_MySql 中 case when then else end 的用法
  9. Junit下获取src/test/resource路径
  10. 提高代码的运行效率(1)