关于反射和枚举

原创 2011年01月18日 15:12:00

       关于枚举:

       在某些情况下一个类的对象是有限固定的,在实现枚举类的时候要注意一些:

       1,通过private 将构造器隐藏起来

       2,把这个类的所有可能实例都使用public static final属性保存

       3,如果有必要的话,可以提供一些静态的方法,允许其他的程序根据特定参数来获取与之匹配实例

       枚举不是一个普通的类,枚举可以实现一个或者多个的接口,使用enum定义的枚举默认继承了java,lang.Enum类,

而不是继承Object类,其中java.lang.Enum实现了java.lang.Serializable和java.lang.Comparable两个接口

      枚举的构造器只能是使用private访问控制符,如果省略了起构造器的访问控制符,则默认使用private修饰:如果强制使用访问控制符

则必须使用private

      枚举类的实例必须在枚举类中显示列出,否则这个枚举类将永远不能产生实例,列出这些实例系统都会自动添加public static final

      所有的枚举类都提供一个values方法。该方法可以很方便的遍历所有枚举值。

在定义枚举时,还可以让元素类表中的元素选择使用哪个构造函数,在元素后面跟上对应的参数即可如:
public enum WeekDay{
SUN(0)//使用了带参数的构造函数,MON(1)//使用了带参数的构造函数,TUE(2)//使用了带参数的构造函数,WED,THI,FRI,SAT;
private WeekDay(){

}
private WeekDay(int a){

}
}
定义带抽象方法的枚举时,可以用内部类来实现元素的创建。如:
public enum WeekDay{
  SUN(0){
   public WeekDay nextDay(){
    return MON;
   }
  },
  MON(1){
   public WeekDay nextDay(){
    return TUE;
   }
  },
  TUE(2){
   public WeekDay nextDay(){
    return WED;
   }
  },
  WED(3){
   public WeekDay nextDay(){
    return THI;
   }
  },
  THI(4){
   public WeekDay nextDay(){
    return FRI;
   }
  },
  FRI(5){
   public WeekDay nextDay(){
    return SAT;
   }
  },
  SAT(6){
   public WeekDay nextDay(){
    return SUN;
   }
  };
  private int a;
  private WeekDay(int i){
   this.a=i;
   }
  public abstract WeekDay nextDay();
  }

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

枚举和简单反射

JAVA基础-反射-枚举

  • 2016-02-19 11:59
  • 28KB
  • 下载

JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程.]

类的继承 Java只支持单继承,不允许多重继承  - 一个子类只能有一个父类  - 一个父类可以派生出多个子类    子类继承了父类,就继承了父类的方法和属性。  在子类中,可以使用父...

黑马程序员--java高新技术 25--枚举,反射

---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------   /*1.5 新特性总结: ...

java基础加强(二)(枚举与反射)

枚举与反射专题   五、枚举   枚举就相当于一个类,其中也可以定义构造方法、成员变量、普通方法和抽象方 法。   枚举元素必须位于枚举体中的最开始部分,枚举元素列表的后要有分号与其...

Android-->检测内置/外置SD卡存储卡,枚举所有挂载点(通过反射实现),监听SD卡广播

直接上重点:1:获取内置SD卡的路径, 但是判断是否有效(是否挂载), 需要用到下面检测挂载点的方法 /** * 获取内置SD卡路径 * * @return ...
  • angcyo
  • angcyo
  • 2015-05-29 11:39
  • 3733

JAVA基础加强篇——反射和枚举

一、 反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的...

枚举,注解,实体类,单元测试,反射对象字段------------举例使用

/**  * 定义一个枚举,枚举多用来存放常量,是一种数据类型  * @author Administrator  *  */ public enum Myenum { RED,BLUE,...

java反射测试代码!枚举测试,beanUtils测试等....挺有用的。。。

java反射测试代码!枚举测试,beanUtils测试等....挺有用的。。。 完整通过反射自定义框架请看别一个博客:http://blog.csdn.net/liangrui1988/article...

枚举、反射和内省

主要内容: 1. 枚举知识总结 2. 枚举应用 3. 反射知识总结 4. 反射应用 5. 泛型知识总结 6. 内省总结 枚举知识总结: 枚举的作用: 枚举就是要让某个类型的变量的取值只能为若干个固定值...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)