嵌套类有四种:静态成员类、非静态成员类、匿名类、局部类。除了第一种之外,其他三种被称为内部类。
  四种不同的嵌套类,每一种都有自己的用途。如果一个嵌套类需要在单个方法之外可见,或者它太长了,不适合于放在方法内部,就应该使用成员类。如果成员类的每个实例都需要指向其外围实例的引用,就要把成员类做成非静态的;否则,就做成静态的。假设这个嵌套类属于一个方法的内部,如果你只需要在一个地方创建实例,并且已经有了一个预置类型可以说明这个类的特征,就把它做成匿名类;否则,就做成局部类。