A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 崔岩 中级黑马   /  2012-3-24 15:34  /  1953 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

比如在反射中,获得方法为 getMethod(方法名, 参数类型.class)。这个类名.class后是个什么类型呢??比如我要写一个通用的方法,给 getMethod(para1, para2)传递形式参数,那para2要定义成什么类型呢??

4 个回复

倒序浏览
这个是Class类型的吧。你看看那个API吧,真的
回复 使用道具 举报
参数类型.class得到的是对应的class字节码,不是固定类型。比如 int.class得到是int的字节码,String.class得到的是String的字节码,
如果想建一个通用方法,可以写成Object.class.
回复 使用道具 举报
你在A类中有一个 方法  add(int a);

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

咦,有点别扭,应该是
回复 使用道具 举报
朱亚安 发表于 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.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马