`
032615
  • 浏览: 59927 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

为每个enum实例定义不同的方法实现

    博客分类:
  • java
 
阅读更多

    enum允许程序员为enum实例编写方法,从而为每个enum实例赋予各自不同的行为,需要为enum定义一个或多个abstract方法,然后为每个enum实例实现该抽象方法。

Java代码   收藏代码
  1. package com.janeky.enumtest;     
  2.     
  3. public enum TestEnumMathod {     
  4.     //为每个enum实例添加不同的实现方法     
  5.     SAMPLE1 {     
  6.         String getInfo() {     
  7.             return "SAMPLE1";     
  8.         }     
  9.     },     
  10.     SAMPLE2{     
  11.         String getInfo()     
  12.         {     
  13.             return "SAMPLE2";     
  14.         }     
  15.     };     
  16.     abstract String getInfo();     
  17.          
  18.     //测试     
  19.     public static void main(String args[])     
  20.     {     
  21.         for(TestEnumMathod method:values())     
  22.         {     
  23.             System.out.println(method.getInfo());     
  24.         }     
  25.     }     
  26.          
  27. }    

  所有的enum都继承自java.lang.Enum类,由于Java不支持多重继承,所以enum不能再继承其它类。然而,在我们创建一个新的enum时,可以同时实现一个或多个接口。

 

分享到:
评论

相关推荐

    【05-面向对象(下)】

    •和类定义不同,定义接口不再用class关键字,而是使用interface关键字。语法如下: •[修饰符] interface接口名 extends 父接口1,父接口2 ... •{ • 零个到多个常量定义... • 零个到多个抽象方法定义... • ...

    51单片机C语言编程基础及实例

    注意:P0 的每个引脚要输出高电平时,必须外接上拉电阻(如 4K7)至 VCC 电源。 在某引脚输出低电平的编程方法:(比如 P2.7 引脚) 代码 #include //该头文档中有单片机内部资源的符号化定义,其中包含 P2.7 该头...

    你必须知道的495个C语言问题

    我在设计一个状态机,用函数表示每种状态,每个函数都会返回一个指向下一个状态的函数的指针。可我找不到任何方法来声明这样的函数——感觉我需要一个返回指针的函数,返回的指针指向的又是返回指针的函数……,如此...

    day021-反射和注解笔记和代码.rar

    每个数组都是 Class字节码类中的一个具体 对象 基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象; 注意 : 1、 Class类 和它的实例的...

    \java超强笔记(超级经典)

    多值注释:每个值之间用逗号隔开 四种元注释:java.lang.annotation中的类 元注释:注释注释的注释,用来限定注释的特征 @Terget 用来限定某个注释的使用范围,可以对什么元素进行注释 @Retention...

    《你必须知道的495个C语言问题》

    我在设计一个状态机,用函数表示每种状态,每个函数都会返回一个指向下一个状态的函数的指针。可我找不到任何方法来声明这样的函数——感觉我需要一个返回指针的函数,返回的指针指向的又是返回指针的函数……,如此...

    01:详解C#中的反射.pdf

    //取出每个构造函数的所有参数 foreach (ParameterInfo pi in ps) //遍历并打印所该构造函数的所有参数 { Console.Write(pi.ParameterType.ToString()+" "+pi.Name+","); } Console.WriteLine(); }

    LuaBind 源码 (Lua增强库)

    能力支持函数式的定义一个Lua类,而且使之继承自C++或者Lua. Lua类可以覆写从 C++ 基类 继承来的虚函数. 她的目标平台是Lua 5.0 ,不能支持Lua 4.0 . 她利用模板原编程技术实现.这意味着,你不需要额外的预处理过程去...

    Hibernate注释大全收藏

    • Single Table per Class Hierarchy Strategy: the <subclass> element in Hibernate 每个类层次结构一张表 • Joined Subclass Strategy: the <joined-subclass> element in Hibernate 连接的子类策略 @...

    亮剑.NET深入体验与实战精要2

    因pdf的容量过大分4个压缩包打包,还有一个源码另外下载。 《.NET深入体验与实战精要》作者身为从事.NET一线开发的资深开发专家,常年耕耘技术博客,惠及无数.NET新知。此次将长期的思考、感悟,多年的系统开发、...

    亮剑.NET深入体验与实战精要3

    因pdf的容量过大分4个压缩包打包,还有一个源码另外下载。 《.NET深入体验与实战精要》作者身为从事.NET一线开发的资深开发专家,常年耕耘技术博客,惠及无数.NET新知。此次将长期的思考、感悟,多年的系统开发、...

    C语言FAQ 常见问题列表

    o 3.4 在 C 语言中实现抽象数据类型什么方法最好? o 3.5 在 C 中是否有模拟继承等面向对象程序设计特性的好方法? o 3.6 我遇到这样声明结构的代码: struct name { int namelen; char namestr[1];}; 然后又使用...

    Java 高级特性.doc

    象以后我门在学习JAVA 的时候,一定要对每个知识点要慢慢的消化吃透,切不能走马观花。一个知识点必须要反复的动手练习,不然很难理解其中的奥秘所在的! 5.在JAVA的程序中,我经常性的看到字符前面有@这种标志的...

    consistence:一致性-一致的方法和PHP功能的补充

    浓度 ... 该库的目的是为PHP功能提供一致的方法。 这表示: 清晰一致的命名方式 一致参数顺序 错误报告为异常,从不作为返回值 添加了缺少的功能和接口 代表共同元素的价值对象 ... 每个值都由此类的实例

    在一小时内学会 C#(txt版本)

    每个类都打包于一个命名空间。命名空间的概念和 C++ 完全一样,但我们在 C# 中比在 C++ 中更加频繁的使用命名空间。你可以用点(.)定界符访问命名空间中的类。上面的 Hello World 程序中,MyNameSpace 是其命名空间...

    你必须知道的495个C语言问题(PDF)

    2.4 在C 语言中实现抽象数据类型什么方法最好? . . . . . . . . . . . 7 2.5 在C 中是否有模拟继承等面向对象程序设计特性的好方法? . . . 7 i 目录ii 2.6 我遇到这样声明结构的代码: struct name f int namelen; ...

    C++程序设计彻底研究(是code不是书)

    17.4 抛出enum实例作为异常对象 17.5 抛出类所定义的对象 17.6 常犯的错误 17.7 本章重点 17.8 本章练习 PARTⅢ 面向对象程序设计 第18章 类与对象 18.1 程序设计方法的演进 18.2 抽象化和数据的隐藏 18.3 ...

Global site tag (gtag.js) - Google Analytics