public class A
{
public static class B {..}
public class C {..}
...
}
classB, class C 是嵌套/内部类型。那天有人问道:为什么会有嵌套/内部类型?
今天读到一篇文章,觉得是比较好的解释嵌套类型应用场景:
1. 嵌套类型需要访问被嵌套类型的私有方法
2. 避免嵌套类型“污染”命名空间
A good guideline for deciding when to use nested class:
Given any two classes, apply the following guidelines to decide if you should use nested classes. Use nested classes to organize your classes only if the answer to both questions below is yes:
- Is it possible to clearly classify one of the classes as the primary class and the other as a supporting class?
- Is the supporting class meaningless if the primary class is removed from the subsystem?