编译器和运行时系统如何处理java中的嵌套类型?

Pra*_*eek 1 java jvm anonymous-inner-class anonymous-class nested-class

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

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

.....等等

需要清晰.......

Ale*_*exR 6

编译器提取内部类并*class为每个类创建单独的文件.内部类名称创建为OuterClassName$InnerClassName.匿名内部类没有名字,所以他们的名字为创建OuterClassName$1,OuterClassName$2等等.

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

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