java.lang.illegalaccessexception的发生因为什么?
这种错误一般都是因为没有访问权限导致的,问题多出现在反射的使用中,反射中调用私有方法或者私有属性。我们可以使用他们继承父类(AccessibleObject)中的setAccessible()方法,来设置或取消访问检查,以达到访问私有对象的目的。java的四种访问权限修饰符:public是公共的,被public所修饰的成员可以在任何类中都能被访问到。protected是受保护的,受到该类所在的包所保护。default(默认,缺省的),也被称为friendly。private,private是私有的,即只能在当前类中被访问到,它的作用域最小。在编写代码的时候要主要访问权限的问题。
这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了package的情况下要注意这个异常。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。