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

来源:7-7 Java 中的静态内部类

浪子回头2018

2018-09-01 15:30

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

}


}


写回答 关注

4回答

  • 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

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530644 学习 · 6091 问题

查看课程

相似问题