读书笔记-《Effective Java》第22条:优先考虑静态成员类

        如果声明成员类不要求访问外围实例,那么一定要声明成静态内部类。如果声明成内部类,那当外围类被回收后, 内部类并不会被回收,而且每次创建外围类,都会创建一个内部类指向外围类的引用。

  • 如果一个嵌套类需要在单个方法之外仍然是可见的,或者它太长了,不适合于放在方法内部,那就做成成员类。
  • 如果成员类的每个实例都需要一个指向其外围实例的引用,就做成非静态成员类;否则就做成静态成员类。
  • 假设潜逃类属于一个方法的内部,如果你只需要在一个地方创建实例,并且已经有了一个预置的类型可以说明这个类的类型,就要把它做成匿名类,否则就做成局部类。

猜你喜欢

转载自blog.csdn.net/baitianmingdebai/article/details/85328701