1

编译器如何知道嵌套类型,例如:

  • 嵌套内部类
  • 匿名类
  • 嵌套接口

.....ETC

需要明确.......

4

1 回答 1

6

编译器提取内部类并*class为每个类创建单独的文件。内部类名创建为OuterClassName$InnerClassName. 匿名内部类没有名称,因此它们的名称被创建为OuterClassName$1,OuterClassName$2等。

内部类使用语法对外部类的实例有特殊的引用OuterClassName.this

由于内部类被编译成单独的类文件,JVM 根本不处理内部类。它处理具有上述“特殊”名称的常规类。

于 2013-02-05T07:59:31.673 回答