问答详情
源自:7-7 Java 中的静态内部类

主方法中创建内部类报错,啥原因求大佬

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();

}


}


提问者:浪子回头2018 2018-09-01 15:30

个回答

  • HappySimon
    2018-11-03 11:00:51

    内部类不是静态内部类,不能访问外部类的静态成员

  • 心如汁水
    2018-09-22 20:41:03

    如果你要这样创建内部对象,那么你内部类中的方法就是要为静态方法。要不然你创建内部对象,必须先创建外部对象,再利用外部对象在创建内部对象,即代码为:SOuter so = new SOuter();  SInner sl = so.new SInner();

  • 慕沐4558849
    2018-09-11 15:43:37

    你的内部类是成员内部类,在主函数里面的创建方法应该是通过外部类创建的,你可以看一看上一节,

  • 浪子回头2018
    2018-09-01 15:47:52

    额,找到错误了,能撤回吗·,少了个static