内部类
概念:
- 在一个类的内部再定义一个完整的类
特点: - 内部类也会生成class文件
- 内部类可以直接访问外部类的私有属性和方法,不破坏封装
- 可以为外部类提供必要的内部功能组件
![]()
先创建外部类对象,在创建内部类对象
成员内部类
- 在类的内部定义,与实例变量,实例方法同级别的类
- 外部类的一个实例部分,创建内部类对象是,必须依赖外部类对象
- 当外部类、内部类存在重名属性时,会优先访问内部类属性。
- 成员内部类不能定义静态成员,但是可以定义静态常量
静态内部类
级别和外部类相同
- 不依赖外部对象,可直接创建或者通过类名访问
局部内部类
不能加任何访问修饰符
使用时需要创建局部内部类对象,调用里面的方法
访问局部变量,变量必须是常量,使用final修饰,jdk1.8后会自动添加
- 定义在外部类的方法中,作用范围和创建对象范围仅限于当前方法
匿名内部类
没有类名的局部内部类(类似局部内部类)
必须继承一个父类或者实现一个接口
优点:减少代码量
缺点:可读性较差

浙公网安备 33010602011771号