java 编译过程的疑问

clipboard.png

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

阅读 1.4k
2 个回答

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

public class MyClass {
   
}

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

public class OuterClass {
   class InnerClass{
   
   }
}

这不是你写的能内部类么

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题