定义在类内部的类被称为内部类。内部类根据不同的定义方式,可分为静态内部类、成员内部类、局部内部类和匿名内部类这4种。
定义在类内部的静态类被称为静态内部类。
定义在类内部的非静态类叫作成员内部类,在成员内部类中不能定义静态方法和变量(final修饰的除外),因为成员内部类时非静态的,而在Java的非静态代码块中不能定义静态方法和变量。
定义在方法中的类叫作局部内部类。当一个类只需在某个方法中使用某个特定的类时,可以通过局部类来优雅地实现。
匿名内部类属于局部内部类的一种,即没有类名的局部内部类,可以作为方法的参数或返回值。
匿名内部类指通过继承一个父类或者实现一个接口的方式直接定义并使用的类。匿名内部类没有class关键字,这是因为匿名内部类直接使用new生成一个对象的引用。
1.为什么要使用内部类?