外部类不能直接访问内部类的成员。
在外部类里使用内部类
外部类里包含一个方法,该方法里创建一个内部类对象。
通过该内部类对象来访问内部类的成员。
非静态内部类为什么可以直接访问外部类的私有属性????
:
Outer.this.
如果外部类属性、内部类属性与内部类里方法的局部变量同名,
则可通过使用this、外部类类名.this作为限定来区分。
总之一句话:
在内部类的对象里,有一个变量,变量名为:外部类类名.this 这个变量存储着外部类对象的引用(即:外部类对象的地址)
2.内部类的成员只在非静态内部类范围内是可知的,并不能被外部类直接使用。
3.如果外部类需要访问非静态内部类成员,则必须显示创建非静态内部类对象来调用访问其实例成员。
4. |
|