成员内部类
定义:有类名,定义在外部类的成员位置上,本质是一个成员,作用域为整个类体。
成员内部类可以直接访问外部类的所有成员,包括私有的,外部类想要访问成员内部类,需要创建该成员内部类的对象才可进行访问,包括私有的。
成员内部类可以添加任意修饰符,因为他本质是一个成员。
外部其他类可以访问成员内部类,有两种方式:
(1) **先给外部类分配空间,然后再通过外部类的实例给内部类分配空间** 外部类名.内部类名 = new 外部类名.new 成员内部类名(构造器的参数列表) (2) **在外部类中定义一个方法,用来返回成员内部类的对象** 外部类名.内部类名 = new 外部类名.方法名(方法的参数列表)
访问外部类成员时,也要通过“外部类名.this.成员名”的方式去访问、
静态内部类
定义:有类名,定义在外部类的成员位置上,用static修饰,本质是一个静态成员,作用域为整个类体。
静态****成员内部类可以添加任意修饰符,因为他本质是一个静态成员。
静态成员内部类只能访问静态成员。静态内部类中的普通方法也只能访问静态属性和方法。
外部其他类可以访问静态内部类,有两种方式:
(1) **先给外部类分配空间,然后再通过外部类的实例给内部类分配空间(满足访问权限)** 外部类名.内部类名 = new 外部类名.静态内部类名(构造器的参数列表) (2) **在外部类中定义一个方法,用来返回静态内部类的对象实例(满足访问权限)** 外部类名.内部类名 = new 外部类名.方法名(方法的参数列表)
访问外部类成员时,要通过“外部类名.成员名”的方式去访问、
版权归原作者 Super Minion 所有, 如有侵权,请联系我们删除。