实用反射技巧

1.根据名字获得类及实例
	Class c = null;
        try {   
            c = Class.forName("temp.javalearn.T1$Comparefun");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 
	c.newInstance();
其中,如果为嵌套类的话 需要用$分开
 
  
2.根据名字获得函数及执行函数
	Comparefun cf=new Comparefun(); 或Class
        Class[] cargs = new Class[2];
        cargs[0]=Object.class;
        cargs[1]=Object.class;        
        Method mArray=cf.getClass().getMethod("compare",cargs);
        
        Object o1=1;
        Object o2=2;
        System.out.println(mArray.invoke(cf.getClass().newInstance(),o1, o2));

你可能感兴趣的:(JAVA)