Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法访问类“”的成员;com.ABC$XYZ“;带修饰语;同步的;_Java_Reflection_Inner Classes_Synchronized_Illegalaccessexception - Fatal编程技术网

Java 无法访问类“”的成员;com.ABC$XYZ“;带修饰语;同步的;

Java 无法访问类“”的成员;com.ABC$XYZ“;带修饰语;同步的;,java,reflection,inner-classes,synchronized,illegalaccessexception,Java,Reflection,Inner Classes,Synchronized,Illegalaccessexception,我正在尝试使用反射API检索同步方法 下面给出了示例代码段: class ABC { class XYZ { synchronized List methodOfXYZ() { System.out.println("Im in Method"); // do sum stuff return <Obj-List>; } } } 试试这个: public Clas

我正在尝试使用反射API检索同步方法

下面给出了示例代码段:

class ABC {
    class XYZ {
        synchronized List methodOfXYZ() {
            System.out.println("Im in Method");
            // do sum stuff
            return <Obj-List>;
        }
    }
}
试试这个:

public Class ABC
{
    public Class XYZ 
    {
       public synchronized List methodOfXYZ()
       {
          System.out.println("Im in Method");
         // do sum stuff
         return <Obj-List>;
        }
     }
 }
公共类ABC
{
公共类XYZ
{
公共同步列表方法xyz()
{
System.out.println(“Im-in方法”);
//做算术题
返回;
}
}
}

显示引发异常的代码。
TestReflection
类没有
methodOfXYZ()
方法的可见性(由于可见性修饰符和实际代码的包结构)。您可以在调用
myMethod.invoke(…)
之前执行
myMethod.setAccessible(true)
,或者修复您的包结构,使您的反射代码具有您试图反射的方法的可见性。感谢您的回复Mckeown和Sam。。此类ABC在客户端API中提供。所以我不能改变它。该类中的一个更正是:公共类ABC{classxyz实现了Runnable{synchronized List methodOfXYZ(){System.out.println(“Im-in-Method”);//do sum stuff return;}}
public Class ABC
{
    public Class XYZ 
    {
       public synchronized List methodOfXYZ()
       {
          System.out.println("Im in Method");
         // do sum stuff
         return <Obj-List>;
        }
     }
 }