内部类

概念:

  • 在一个类的内部再定义一个完整的类
    特点:
  • 内部类也会生成class文件
  • 内部类可以直接访问外部类的私有属性和方法,不破坏封装
  • 可以为外部类提供必要的内部功能组件

    先创建外部类对象,在创建内部类对象

成员内部类

  • 在类的内部定义,与实例变量,实例方法同级别的类
  • 外部类的一个实例部分,创建内部类对象是,必须依赖外部类对象
  • 当外部类、内部类存在重名属性时,会优先访问内部类属性。
  • 成员内部类不能定义静态成员,但是可以定义静态常量

静态内部类

级别和外部类相同

  • 不依赖外部对象,可直接创建或者通过类名访问

局部内部类

不能加任何访问修饰符
使用时需要创建局部内部类对象,调用里面的方法
访问局部变量,变量必须是常量,使用final修饰,jdk1.8后会自动添加

  • 定义在外部类的方法中,作用范围和创建对象范围仅限于当前方法

匿名内部类

没有类名的局部内部类(类似局部内部类)
必须继承一个父类或者实现一个接口
优点:减少代码量
缺点:可读性较差

posted @ 2021-03-03 20:59  UltraBlast  阅读(48)  评论(0)    收藏  举报