使用反射访问Java中同级别类的公共方法


public class A{
}
//this class is in the same file as A class i.e. A.java
class B{
   //has a public method
}

这两个类都在同一个文件中因此不能将类B设为public

在尝试使用Reflection访问与类A在同一级别定义的类B的公共方法时,它给出了不能使用修饰符public访问类B的成员的IllegalAccessException

有什么方法可以通过反射来实现吗?

将您的类B设为公共类,然后尝试。它应该起作用。

引用java文档

引用(类、接口或数组(类型的成员(类、界面、字段或方法(或类类型的构造函数只有在该类型是可访问的并且该成员或构造函数被声明为允许访问时才可访问

您需要对该方法执行setAccesible(true)

相关内容

  • 没有找到相关文章