黑马程序员技术交流社区

标题: 反射中反射方法的疑问 [打印本页]

作者: 喝龙血的我    时间: 2013-10-11 19:12
标题: 反射中反射方法的疑问
本帖最后由 喝龙血的我 于 2013-10-11 20:46 编辑
  1. <p>public class Test {</p><p> public static void main(String []args) throws Exception{</p><p>   
  2.   //反射调用类P的初始化方法P
  3.         Method pp=P.class.getMethod("P", Person.class);
  4.   System.out.println(pp.toString());
  5.   
  6. //  P p=new P("abc",34);
  7. //  System.out.println(p);
  8. //  Method methodname=p.getClass().getMethod("setSs",String.class);
  9. //  methodname.invoke(p, "def");
  10. //  System.out.println(p);  
  11.   
  12. }

  13. }</p><p>class P{
  14. private String ss;
  15. public String getSs() {
  16.   return ss;
  17. }
  18. public void setSs(String ss) {
  19.   this.ss = ss;
  20. }
  21. public int getIi() {
  22.   return ii;
  23. }
  24. public void setIi(int ii) {
  25.   this.ii = ii;
  26. }
  27. private int ii;
  28. public P(String ss, int ii) {
  29.   super();
  30.   this.ss = ss;
  31.   this.ii = ii;
  32. }</p><p> @Override
  33. public String toString() {
  34.   return "P [ss=" + ss + ", ii=" + ii + "]";
  35. }

  36. }</p><p>怎么才能得到类P的初始化方法呢,为什么能得到get,set方法,却得不到初始化方法?</p>
复制代码

作者: long362144768    时间: 2013-10-11 20:27
初始化方法有专门的调用方式,例如获取String的有参构造函数String(StringBuffe bufferr):
  1. Constructor constructor = String.class.getConstructor(StringBuffer.class);
复制代码
你的应该是
  1. Constructor constructor = p.class.getConstructor(String.class,int.class);
复制代码
你看视频不仔细,脚踏实地才行啊,兄弟
作者: 喝龙血的我    时间: 2013-10-11 20:46
。。。  迷了  感谢指点




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