为什么java编译器会为单个java文件生成多个.class文件?
我编写了一些java代码Deadlock.java,在编译它时会生成多个类 命名为死锁$ someNumber.class。
为什么会这样。??
它的意义是什么?
答案 0 :(得分:2)
如果在同一个文件中有多个类(其中一个是必需的,并且与文件同名),请在Person.java文件中说明以下内容
public class Person{
}
class Classroom{
}
编译器将为Person.java文件中的每个类创建一个类
答案 1 :(得分:0)
这些是匿名课程。您的代码包含new SomeInterface(){}
和/或new SomeClass(){}
。
答案 2 :(得分:0)
我相信当你使用匿名内部类时通常会这样做。这些类中的每一个都将获得一个类文件,但是当您为它们声明没有名称时,它会得到一个数字。因此,您创建的任何未命名的类声明(可能是Runnable或Listeners等)可能正在创建它们。