java 编译过程的疑问

stephen2017
  • 14

clipboard.png

这种编译过程会产生$1.class 这是什么东西?谢谢!

回复
阅读 888
2 个回答

对于没有内部类的java类来说,编译之后生成字节码文件,也就是.class文件。例如下方的代码编译之后会生成一个MyClass.class的字节码文件。

public class MyClass {
   
}

对于存在内部类的Java类说,外部类会生成一个字节码文件,同时内部类也会生成一个字节码文件。例如下方代码:编译之后会生成2个字节码文件:OuterClass.classOuterClass$1.class。其中OuterClass$1.class就是内部类InnerClass的字节码文件

public class OuterClass {
   class InnerClass{
   
   }
}

这不是你写的能内部类么

宣传栏