小白学java第23天
定义在外部类的成员位置上:
1.成员内部类(没有static修饰)
定义在外部类的成员位置上
注意:
(1)可以直接访问外部类的所有成员,包括私有的
(2)可以添加任意访问修饰符(public、protected、默认、private),因为他的地位是一个成员
(3)作用域和其他外部类的其他成员一样,为整个类体
(4)成员内部类访问外部类可以直接访问
(5)外部类访问内部类需要创建对象再访问
(6)外部其他类访问成员内部类
两种方法:
(1)new 外部类.内部类().var
调用其中方法或属性
即直接调用(访问访问前提)
(2)编写一个方法返回成员内部类的对象实例
(7)如果外部类和成员内部类的成员重名时,默认遵循就近原则,如果想访问外部类的成员,则可以使用(外部类名.成员)来访问
2.静态内部类(使用static修饰)
静态内部类是定义在外部类的成员位置,并且有static修饰
注意:
1.可以直接访问外部类的所有静态成员,并且有static修饰
2.可以添加任意任意访问修饰符(public、protected、默认、private),因为他的地位是一个成员
3.作用域:同其他成员为整个整体
4.静态内部类访问外部类(静态属性等)可以直接访问
5.外部类访问静态内部类需要创建对象再访问
6.外部其他类访问静态内部类
两种方式:(1)new 外部类.内部类().var
调用其中方法或属性
即直接调用(访问访问前提)
(2)编写一个方法返回静态内部类的对象实例
7.)如果外部类和静态内部类的成员重名时,默认遵循就近原则,如果想访问外部类的成员,则可以使用(外部类名.成员)来访问