J2SE-反射(2)-针对枚举类型

本文介绍了一种在Java中使用反射来操作枚举类型的方法。通过获取枚举类型的Class对象,可以进一步获取其所有实例并调用这些实例的方法。

我们还可以对枚举类型使用反射

?[Copy to clipboard] Download enumReflection.java
 
 
  
  1. enum   enumReflection{  
  2.      aa {  
  3.         @Override  
  4.         public void test() {  
  5.    
  6.             // TODO Auto-generated method stub  
  7.             System.out.println("enum  aa");  
  8.    
  9.         }  
  10.     } , bb {  
  11.         @Override  
  12.         public void test() {  
  13.    
  14.             // TODO Auto-generated method stub  
  15.    
  16.         }  
  17.     }, cc {  
  18.         @Override  
  19.         public void test() {  
  20.    
  21.             // TODO Auto-generated method stub  
  22.    
  23.         }  
  24.     } ;  
  25.      private  static  int a ;  
  26.      private  static  int b ;  
  27.      public abstract void test();  
  28.   
 
 

在main方法中添加代码如下,就可以调用对应的方法了。

 

 
     
  1. /**  
  2. * 测是得到枚举类型  
  3. */  
  4. Class<?> myClass = enumReflection.class;  
  5. Object[] objsmyClass.getEnumConstants();  
  6. Class<?> enumObj=objs[0].getClass();  
  7. Method method=enumObj.getDeclaredMethod("test");  
  8. method.invoke(objs[0]); 

 


本文转自 最牛傻蛋 51CTO博客,原文链接:http://blog.51cto.com/zuiniuwang/718359,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值