class Outer {
private int i = 10;
class Inner{
public void seeOuter(){
System.out.print(i);
}
}
public static void main(String[] args) {
Outer out = new Outer();
Outer.Inner in = out.new Inner();
//Outer.Inner in = new Outer().new Inner();
in.seeOuter();
}
}
在外部类的静态方法中实例化内部类对象,必须先创建外部类对象。请问这是为什么呢?更深的原因跟栈和堆有关系吗?谢谢了。
我自己觉得 main中有权限访问到 Inner 吧,那为什么非要先创建外部类啊
private int i = 10;
class Inner{
public void seeOuter(){
System.out.print(i);
}
}
public static void main(String[] args) {
Outer out = new Outer();
Outer.Inner in = out.new Inner();
//Outer.Inner in = new Outer().new Inner();
in.seeOuter();
}
}
在外部类的静态方法中实例化内部类对象,必须先创建外部类对象。请问这是为什么呢?更深的原因跟栈和堆有关系吗?谢谢了。
我自己觉得 main中有权限访问到 Inner 吧,那为什么非要先创建外部类啊
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货