我有一个名为 StreamGo 的类(class)。它还有 4 个同名的类文件,例如 StreamGo$1、StreamGo$2 等。所有这些类文件都有不同的代码集。我如何合并它们?为什么这些类文件是用 $1 和 $2 等创建的?
请帮忙。
最佳答案
这些类文件是为 StreamGo.java
中定义的匿名内部类自动生成的。例如,如果您有这样的内容:
final Runnable runnable = new Runnable() {
public void run() {
// ...
}
};
然后您将拥有一个 StreamGo$1.class
,用于您在此处定义的 Runnable
的匿名实现。
命名嵌套类的作用大致相同,只不过您将获得它们的名称而不是数字部分。
关于带有 $ 符号的 Java 类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22826945/