public class AA{
public static void main(String[] args){
}
public class Foo{
static int x;
public void go(){
System.out.println(x);
} //???
}
}
在编译的时候,编译器抛出:
AA.java:7: 错误: 内部类AA.Foo中的静态声明非法
static int x;
^
修饰符 'static' 仅允许在常量变量声明中使用
所以在这里我没有明白他的意思,为什么这种静态变量不可以使用?
恳请指点!
你的Foo类是AA的内部类,不是静态内部类
非静态的内部类中无法定义静态的字段
因为Foo是内部类,需要把Foo放在AA外面定义