代码:
class Outer {
private int xx = 123;
public Inner getInner() {
return new Inner();
}
public class Inner {
public int getDate() {
return xx;
}
}
}
反编译Outer类,
C:\>javap -private Outer
Compiled from "Test.java"
class Outer extends java.lang.Object{
private int xx;
Outer();
public Outer$Inner getInner();
static int access$000(Outer);
}
编译器自动生成了一个方法,access$000(),包访问权限,于是我在另外个类中访问 access$000() 方法,结果说
找不到这个方法,这又是为什么呢,编译器做的限制?一定就访问不了吗?
另外用 Outer$Inner 访问内部类也不可以的,也是类似的限制吗?
------解决方案--------------------------------------------------------