黑马程序员技术交流社区

标题: 关于 getmethod方法参数的问题 [打印本页]

作者: 在学野马    时间: 2014-9-26 18:50
标题: 关于 getmethod方法参数的问题
本帖最后由 在学野马 于 2014-9-26 19:36 编辑
  1. public static void main(String[] args) throws Exception {
  2.                 // TODO Auto-generated method stub

  3.                 ArrayList<String>a1=new ArrayList<String>();
  4.                 a1.add("aaa");
  5.                 a1.add("bbb");
  6.                 System.out.println(a1);
  7.                 System.out.println(a1.get(1));
  8.                
  9.                 Constructor<String>con=String.class.getConstructor(StringBuffer.class);
  10.                 String s=con.newInstance(new StringBuffer("abf"));
  11.                 System.out.println(s.charAt(2));
  12.                
  13.                 ArrayList<Integer>a2=new ArrayList<Integer>();
  14.                 System.out.println(a1.getClass()==a2.getClass());// 编译完以后 类型就消失  字节码相同
  15.                 Method method=a2.getClass().getMethod("?", Object.class);
  16.                 method.invoke(a2,12);
  17.                 System.out.println(a2.get(0));
  18.         }
复制代码



作者: zuochbd    时间: 2014-9-26 19:02
Method method=a2.getClass().getMethod("?", Object.class);
这句话你是什么目的?
有"?"的方法名吗?
作者: 在学野马    时间: 2014-9-26 19:05
caixingke 发表于 2014-9-26 19:02
Method method=a2.getClass().getMethod("?", Object.class);
这句话你是什么目的?
有"?"的方法名吗? ...

?是我想问的地方  名字那个参数那不懂
作者: zuochbd    时间: 2014-9-26 19:08
在学野马 发表于 2014-9-26 19:05
?是我想问的地方  名字那个参数那不懂

比如你想取得ArrayList这个类的 add方法, 那么你就填上"add"这个字串.
作者: 在学野马    时间: 2014-9-26 19:28
caixingke 发表于 2014-9-26 19:08
比如你想取得ArrayList这个类的 add方法, 那么你就填上"add"这个字串.

后面的Object.class呢  怎么理解
作者: zuochbd    时间: 2014-9-26 19:30
在学野马 发表于 2014-9-26 19:28
后面的Object.class呢  怎么理解

add(_)里的参数的类型
作者: 在学野马    时间: 2014-9-26 19:35
caixingke 发表于 2014-9-26 19:30
add(_)里的参数的类型

恩恩 明白了 谢谢你
作者: 在学野马    时间: 2014-9-26 19:43
在学野马 发表于 2014-9-26 19:28
后面的Object.class呢  怎么理解



能再请教你个问题吗
Constructor<String>con=String.class.getConstructor(StringBuffer.class);
                String s=con.newInstance(new StringBuffer("abf"));
这两句代码能解释下吗?




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