黑马程序员技术交流社区

标题: 反射权限限制问题 [打印本页]

作者: 薛波    时间: 2012-3-31 14:30
标题: 反射权限限制问题
public class Person {
        private String name;
        private int age;
       
        Person(String name, int age){
                this.name = name;
                this.age = age;
        }
}

Constructor constructor = Person.class.getConstructor(String.class, int.class);

使用反射得到构造函数的时候发现提示说找不到此方法,然后在构造函数前加上public 就可以访问了
但是有些不解,构造函数也不是私有的是默认权限怎么都不能访问,那么反射的时候的权限限制细节
到底是怎么样的,求高手指点.
                                       
作者: H07000223    时间: 2012-3-31 17:19
getConstructor 只能访问public型的
你用getDeclaredConstructor就ok,这个什么都能访问
作者: 李井山    时间: 2012-3-31 18:34
类中的私有属性是不能直接用反射取到的。
可以用暴力反射,专门取私有的。
这里可以getDeclaredConstructo方法
访问私有变量getDeclaredField
和setAccessible(ture)




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