出于好奇,为什么有时编译后会为一个类生成多个Java .class文件?例如,我的应用程序有六个类。对于一个类,从MyClass#1到MyClass#10,总共生成了10个.class文件。
发布于 2009-06-23 11:23:23
这些是针对inner classes和static nested classes的。带数字的是匿名内部类。
例如:
class Foo {
class Bar { }
static class Baz { }
void run() {
Helper t = new Helper() {
int helpMethod() {
return 2;
}
};
}
}这将生成类文件Foo.class、Foo$Bar.class、Foo$Baz.class和Foo$1.class (用于实现Helper接口)
发布于 2009-06-23 11:53:41
在以下情况下,您可以从单个源文件中获得更多.class文件
<outer class name>$<inner class name>.发布于 2009-06-23 11:23:31
如果您的类包含内部类,则一个java源文件可以生成多个类文件。匿名内部类由编号的类文件表示。
https://stackoverflow.com/questions/1031962
复制相似问题