【发布时间】:2012-11-25 01:26:33
【问题描述】:
Java 代码如下:
public class A {
private static int a;
public static class B {
static void funcc() {
a = 3;
}
}
}
public class C extends A.B {
public void func() {
a = 1;
}
}
当我尝试编译时,出现错误:
C.java:3: error: cannot find symbol
a = 1;
^
symbol: variable a
location: class C
1 error
为什么会这样?
【问题讨论】:
-
您已经有了很多答案,但是您可以通过编译代码然后运行命令
javap A、javap A$B和javap C来了解更多信息。还可以通过将B设为非静态并重试来进行试验。
标签: java nested-class private-members