黑马程序员技术交流社区

标题: 如果构造方法私有,那如何通过反射得到Constructor?? [打印本页]

作者: 高云飞    时间: 2012-5-12 16:27
标题: 如果构造方法私有,那如何通过反射得到Constructor??
如果构造方法私有,那如何通过反射得到Constructor??
在老师的视频里,只有对私有成员变量的处理,没有对私有构造方法的处理。

作者: 黑马-王建雨    时间: 2012-5-12 16:36
我不说暴力反射
作者: 高云飞    时间: 2012-5-12 16:42
啷个里个郞 发表于 2012-5-12 16:36
我不说暴力反射

暴力反射??那个不是针对私有成员变量的吗?
作者: 黑马张立国    时间: 2012-5-12 16:59
用getDeclaredConstructor(Class<?>... parameterTypes)
然后用Constructor父类的setAccessible(true)---就是暴力反射
例如:
import java.lang.reflect.*;
public class SecertExercise {

        public static void main(String[] args)throws Exception  {
             Constructor constructor =  Abc.class.getDeclaredConstructor(String.class,int.class);
                //设置对访问权限的释放
                constructor.setAccessible(true);
                Abc abc =(Abc)constructor.newInstance("689",12);
                abc.run();
}
}
class Abc{
String name ;
int age;
private Abc(String name,int age){
this.name=name;
this.age=age;
}
void run(){
System.out.println("haha");
}
}
作者: 高云飞    时间: 2012-5-12 17:58
zlghff 发表于 2012-5-12 16:59
用getDeclaredConstructor(Class... parameterTypes)
然后用Constructor父类的setAccessible(true)---就是 ...

哦,谢谢了,了解




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