类的成员之五
一、什么是内部类?
- 将一个类A定义在另一个类B里面,里面的那个类A就称为内部类(Innerclass),类B则称为、外部类 (0uterclass)
二、为什么需要内部类?
- 具体来说,当一个事物A的内部,还有一个部分需要一个完整的结构B进行描述,而这个内部的完整的结构B又只为外部事物A提供服务,不在其他地方单独使用,那么整个内部的完整结构B最好使用内部类。
- 总的来说,遵循 高内聚 、低耦合的面向对象开发原则
三、内部类的分类
1.成员内部类:直接声明在外部类里面。
- 使用static修饰的:静态的成员内部类
- 不使用static修饰的:非静态的成员内部类
2.局部内部类:声明在方法内、构造器内、代码块内的内部类
- 匿名的局部内部类
- 非匿名的局部内部类
四、关于成员内部类的理解
1.从类的角度看
- 内部可以声明属性、方法、构造器、代码块、内部类等结构
- 此内部类可以声明父类,可以实现接口
- 可以使用final修饰
- 可以使用abstract修饰
2.从外部类的成员角度看
- 在内部可以调用外部类的结构。比如:属性、方法等
- 除了使用public、缺省权限修饰之外,还可以使用private、protected修饰