内部类的疑问(有的发懵了)
当内部类定义在外部类的成员位置上时,是可以直接访问外部类中的成员变量,但是我这个怎么不行,
内部类访问外部类中的成员变量,我可不可以像这样理解:(下面这个代码) 就是内部类中的show()方法通过调用,输出Inner=2; 的值呢!还有一点就是内部类访问外部类的时候,在主函数中时创建内部类对象还是外部类对象?
public class Test2 { public static void main(String[] args) { Outer ou= new Outer();//内部类访问外部类时创建哪个对象,外部的还是内部的 ou.method(); } }
class Outer { private int x=2; class Inner{ void show(){ System.out.println("Inner="+x); } }
void method(){ // Inner in=new Inner(); //in.show(); System.out.println("x="+x); } }
|