内部类

- 基本介绍

一个类内部又完整的嵌入了另一个类结构。被嵌套的类称为内部类,嵌套的其他类成为外部类。
类的五大成员:[属性、方法、构造器、代码块、内部类]
内部类可以直接访问私有属性。

- 内部类分类

-定义在外部类局部位置上(比如方法内):

  1. 局部内部类(有类名)
  2. 匿名内部类(没有类名,重点

- 定义在外部类的成员位置上:

  1. 成员内部类(没有用static修饰)
  2. 静态内部类(使用static修饰)

-细节

说明:局部内部类时定义在外部类的局部位置,比如方法中,并且有类名。

  1. 可以直接访问外部类的所有成员,包含私有的
  2. 不能添加访问修饰符,因为它的地位就是一个局部变量。局部变量时不能使用修饰符的。但是可以使用final
  3. 作用域:仅仅在定义它的方法或代码块中。
  4. 局部内部类--访问--->外部类的成员[访问方式:直接访问]
  5. 外部类--访问--->局部内部类的成员 访问方式:创建对象,再访问(注意:必须在作用域中)

记住: (1)局部内部类定义在方法中/代码块
(2)作用域在方法体或者代码块中
(3)本质仍然是一个类
6. 外部其他类--不能访问--->局部内部类(因为局部内部类地位是一个局部变量)
7. 如果外部类和局部内部类的成员重合时,默认遵循就近原则,如果想访问外部类的成员,则可以使用(外部类.this.成员)去访问
匿名内部类

  1. 本质是类
  2. 内部类
  3. 该类没有名字
  4. 同时还是一个对象
    说明:匿名内部类定义在外部类的局部位置,如方法
    语法 new 类或接口(参数列表){
    类体
    }

类外访问成员内部类:
outer10.inner10 inner10 = outer10.new inner10();
inner10.say();
类外访问静态成员内部类
outer10.inner10 inner10 = new outer10.inner10();
inner10.say();

 posted on 2022-04-22 21:46  11、  阅读(33)  评论(0)    收藏  举报