反射遍歴構造方法


ReflectClass.java

  
  
  
  
  1. package cn.lxl.annotation;  
  2.  
  3. import java.util.ArrayList;  
  4. import java.util.Collection;  
  5.  
  6. public class ReflectClass {  
  7.     public ReflectClass(){}  
  8.     public ReflectClass(int param){}  
  9.     public ReflectClass(long param){}  
  10.     public ReflectClass(float param){}  
  11.     public ReflectClass(float param,int a){}  
  12.       
  13.     public void info(Collection<String> coll){}  
  14.     public void matation(ArrayList<String> coll){}  
  15. }  

 
ReflectOp.java
 

  
  
  
  
  1. package cn.lxl.annotation;  
  2.  
  3. import java.lang.reflect.Constructor;  
  4.  
  5. public class ReflectOp {  
  6.     public static void main(String[] args)throws Exception{  
  7.         Class<?> clazz=ReflectClass.class;  
  8.         Constructor<?>[] constructors=clazz.getConstructors();  
  9.           
  10.         for(Constructor<?> construct:constructors){  
  11.             String constructorName=construct.getName();  
  12.             StringBuffer sb=new StringBuffer(constructorName);  
  13.             sb.append('(');  
  14.             Class<?>[] types=construct.getParameterTypes();  
  15.             //System.out.println(types.length);  
  16.             for(Class<?> type:types){  
  17.                 sb.append(type.getName()).append(',');  
  18.             }  
  19.             if(types!=null && types.length!=0){  
  20.                 sb.deleteCharAt(sb.length()-1);  
  21.             }  
  22.             sb.append(')');  
  23.             System.out.println(sb);  
  24.         }  
  25.     }  
  26. }