public class SOuter {
private int a=2;
static int b=1;
public class SInner {
int b=3;
public void show() {
System.out.println("访问外部类中的b:"+SOuter.b);
System.out.println("访问内部类中的b:"+b);
}
}
public static void main(String[] args) {
SInner si=new SInner();
si.show();
}
}
内部类不是静态内部类,不能访问外部类的静态成员
如果你要这样创建内部对象,那么你内部类中的方法就是要为静态方法。要不然你创建内部对象,必须先创建外部对象,再利用外部对象在创建内部对象,即代码为:SOuter so = new SOuter(); SInner sl = so.new SInner();
你的内部类是成员内部类,在主函数里面的创建方法应该是通过外部类创建的,你可以看一看上一节,
额,找到错误了,能撤回吗·,少了个static