3 回答

TA贡献1811条经验 获得超4个赞
如果把代码改为:
public class SecondOuter {
public static class SecondInner extends FirstOuter.FirstInner {
SecondInner() {
super("hello");
System.out.println("SecondOuter.SecondInner()");
}
}
public static void main(String[] args) {
FirstOuter fo = new FirstOuter();
SecondOuter so = new SecondOuter();
SecondOuter.SecondInner si = new SecondInner();
}
}
class FirstOuter {
public static class FirstInner {
FirstInner(String s) {
System.out.println("FirstOuter.FirstInner() " + s);
}
}
}
就不再需要x.new,其实简单理解就是不是静态内部类就像一个对象参数,我们必须首先把对象实例化才能进一步对参数进行处理。
添加回答
举报