我希望能够在一个包中编写一个Java类,它可以访问另一个包中的类的非公共方法,而不必使它成为另一个类的子类.这可能吗?
我想得到方法的调用者类,即
class foo{
bar();
}
Run Code Online (Sandbox Code Playgroud)
在方法栏中,我需要获取类名foo,我找到了这个方法:
Class clazz = sun.reflect.Reflection.getCallerClass(1);
Run Code Online (Sandbox Code Playgroud)
但是,即使getCallerClass是public,当我试着调用它时,Eclipse说:
访问限制:由于对所需库C:\ Program Files\Java\jre7\lib\rt.jar的限制,无法访问Reflection类型的方法getCallerClass()
还有其他选择吗?