A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 薛波 中级黑马   /  2012-3-31 14:30  /  1842 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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 就可以访问了
但是有些不解,构造函数也不是私有的是默认权限怎么都不能访问,那么反射的时候的权限限制细节
到底是怎么样的,求高手指点.
                                       

2 个回复

倒序浏览
getConstructor 只能访问public型的
你用getDeclaredConstructor就ok,这个什么都能访问
回复 使用道具 举报
类中的私有属性是不能直接用反射取到的。
可以用暴力反射,专门取私有的。
这里可以getDeclaredConstructo方法
访问私有变量getDeclaredField
和setAccessible(ture)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马