Java-内部类

142 阅读1分钟

记录

日期说明
2023/1/1首次创建

总纲

关于内部类的一些概念

基础概念

  • 内部类一旦编译成功,就会与外围类称为两个完全不同的类,产生两个class文件

成员内部类

  • 作为外围类的一个成员,可以无限制的访问外围类的属性和方法
  • 外围类想要访问内部类的属性和方法,必须通过内部类的实例来访问
  • 不能存在任何static的变量和方法
  • 只有先创建了外围类才能创建内部类

局部内部类

  • 嵌套在方法内,并且作用域于此,用来辅助解决复杂问题
  • 不能使用外围类的任何非static成员变量和方法

匿名内部类

  • 匿名内部类必须继承类或实现接口的全部抽象方法从而形成一个实体类
  • 匿名内部类的定义只能作用一次,不能重复使用,不能存在任何static的变量和方法
  • 外围类传递参数给匿名内部类时,形参必须是final
  • 利用构造代码块,实现匿名内部类的初始化
  • 只能访问静态外部变量,非静态变量不能访问,外部方法不能访问

静态内部类

  • static修饰的内部类,在编译完成之后并不会存在隐含指向外围类的引用
  • 创建不依赖于外围类
  • 不能使用外围类的任何非static成员变量和方法