版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/HughGilbert/article/details/81283389
最近使用到了内部类,看了下Java的参考文档,理解了为什么要使用内部类,https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html
Java对Nested Classes的定义(Nested Classes)
- java允许在类的内部再声明一个类,如下代码所示:
class OuterClass {
...
class NestedClass {
...
}
}
- Nested Classes 有两类
- 声明中包含static关键字的nested classes,是 static nested classes
- 声明中不包含static关键字的nested classes, 是 inner classes
为什么要使用内部类
- 内部类的出现把一系列只在一个地方被调用的类做了逻辑上的划分。
- 内部类的出现增强了类的封装特性,应用场景主要是:有两个类A和B,B能够访问A的任何成员变量和方法,包括private属性的,而A无法访问B中的成员变量
- 增加代码的可独性:Nesting small classes within top-level classes places the code closer to where it is used.