黑马程序员技术交流社区

标题: 反射获取类的多参数构造方法的问题 [打印本页]

作者: 银离子    时间: 2015-1-16 23:23
标题: 反射获取类的多参数构造方法的问题
代码如下:
  1. package myfirstdemo;

  2. import java.lang.reflect.Constructor;
  3. import java.lang.reflect.Field;
  4. import java.lang.reflect.Method;

  5. public class reflect_demo3
  6. {

  7.        
  8.         public static void main(String[] args) throws Exception
  9.         {
  10.                 // TODO Auto-generated method stub

  11.                 Class<human> per=(Class<human>) Class.forName("myfirstdemo.human");//获取class对象
  12.                 Constructor<human> cr=per.getConstructor(int.class,String.class);//此处提示   java.lang.NoSuchMethodException  异常 这里不明白????
  13.                
  14.                 human hu=(human)cr.newInstance(20,"man");
  15.                 hu.run();
  16.                
  17.                 Field f=per.getDeclaredField("sex");//获取私有变量
  18.                 f.setAccessible(true);//暴力反射
  19.                 f.set(hu,"women");
  20.                
  21.                
  22.                 Method run=per.getMethod("run",null);
  23.                 run.invoke(hu,null);
  24.         }

  25. }
  26. class human //
  27. {
  28.         private int age=0;
  29.         private String sex=null;
  30.         human(int age,String sex)//带参数构造方法
  31.         {
  32.                 this.age=age;
  33.                 this.sex=sex;
  34.         }
  35.         public void run(){
  36.                 System.out.println(age+sex);
  37.         }
  38.        
  39.        
  40. }
复制代码

作者: 银离子    时间: 2015-1-17 13:11
顶上去!!!!




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