• 实例内部类:没有使用 修饰的内部类,OuterClass$InnerClass. class
      • 静态内部类:使用 修饰的内部类,OuterClass$InnerClass. class
      • 匿名内部类:没有名称的局部内部类,适合只需要使用一次的类,OuterClass$N
      • 实例内部类不能含有 static 的变量和方法
      • 静态内部类(嵌套类)不能访问外部类的非 static 成员
    • 在定义匿名内部类时会立即创建一个该类的实例,这个类定义立即消失,匿名内部类不能重复使用
    • 匿名内部类必须继承一个父类,或实现一个接口,但最多只能继承一个父类,或实现一个接口
    • 匿名内部类不能定义构造器,不能是抽象类
    • 被匿名内部类访问的局部变量必须使用 修饰(从 Java 8 开始,被匿名内部类访问的局部变量自动使用了 final 修饰)