1,静态内部类不能访问外部类的实例成员,只能访问外部类的静态成员。即使内部类的实例方法也不能访问外部类的实例成员。
2,因为静态内部类是外部类的类相关的,而不是外部类的对象相关的。静态内部类的对象不是寄存在外部类对象里,而是寄存在外部类的类本身中,也就是说,当静态内部类的对象存在时,并不存在一个被它寄存的外部类对象,静态内部类的对象里只有外部类的类引用,没有外部类的对象引用,如果允许静态内部类的实例方法访问外部类的实例成员,但找不到被寄存的外部类对象,将引起错误
3.外部类依然不能直接访问静态内部类的成员,但可以使用静态内部类的类名作为调用者来访问静态类的类成员,也可以使用静态内部类的对象作为调用者来访问静态内部类的实例成员。 |