问题描述
在com.XXX1类中利用反射创建com.XXX2的实例对象,报错:“Class com.XXX1 can not access a member of class com.XXX2 with modifiers "public"”,而现在com.XXX2这个类没有用public修饰,采用默认访问修饰符。
原因分析
com.XXX2这个类不可访问,异常描述的意思是把这个类的访问修饰符改成public。
解决方法
解决思路就是在com.XXX1中可以访问com.XXX2
方法一:用public修饰
把com.XXX2这个类用public修饰
方法二:移动类到同一个包下
默认访问权限的类是指本包内可以访问,如下
class XXX {
private String name;
// ...
}
把com.XXX1这个类移动到com.XXX2这个类所在的包下;反之亦可。
参考文章
https://blog.csdn.net/kjianjunspw/article/details/7619641