黑马程序员技术交流社区

标题: 类名.class相关问题 [打印本页]

作者: 崔岩    时间: 2012-3-24 15:34
标题: 类名.class相关问题
比如在反射中,获得方法为 getMethod(方法名, 参数类型.class)。这个类名.class后是个什么类型呢??比如我要写一个通用的方法,给 getMethod(para1, para2)传递形式参数,那para2要定义成什么类型呢??
作者: 朱亚安    时间: 2012-3-24 15:53
这个是Class类型的吧。你看看那个API吧,真的
作者: 杨波    时间: 2012-3-24 16:12
参数类型.class得到的是对应的class字节码,不是固定类型。比如 int.class得到是int的字节码,String.class得到的是String的字节码,
如果想建一个通用方法,可以写成Object.class.
作者: 于紫洋    时间: 2012-3-24 16:46
你在A类中有一个 方法  add(int a);

A.class. getMethod(add,int.class)

咦,有点别扭,应该是
作者: 崔岩    时间: 2012-3-24 17:51
朱亚安 发表于 2012-3-24 15:53
这个是Class类型的吧。你看看那个API吧,真的

Class是对的 我在程序里试验了如下:
  1. public static Constructor getConstructor(String className,Class... paraType) //形参类型是 Class
  2.         {
  3.                  
  4.                 try {
  5.                        
  6.                         con = Class.forName(className).getDeclaredConstructor(paraType); //paraType等于 类名.class
  7.                         con.setAccessible(true);
  8.                        
  9.                 } catch (Exception e) {
  10.                        
  11.                         e.printStackTrace();
  12.                 }
  13.                
  14.                 return con;
  15.        
  16.         }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2