gpt4 book ai didi

java编译的类包含美元符号

转载 作者:行者123 更新时间:2023-12-01 16:21:59 32 4
gpt4 key购买 nike

我一直使用 Eclipse 作为我的 IDE。我还使用它将我的应用程序导出到 JAR 文件中。当我查看 JAR 文件中的类时,我的一些类包含该类的名称、一个美元符号,然后是一个数字。例如:

Find$1.class 
Find$2.class
Find$3.class
Find.class

我注意到它在更大的类上执行此操作。这是因为类变得太大,所以将其编译成多个类吗?我用谷歌搜索并查看了多个论坛,并搜索了 Java 文档,但没有找到与之相关的任何内容。有人可以解释一下吗?

最佳答案

内部类(如果类中存在)​​将被编译,并且类文件将为ClassName$InnerClassName。对于匿名内部类,它将显示为数字。类(Java 代码)的大小不会导致生成多个类。

例如给出这段代码:

public class TestInnerOuterClass {
class TestInnerChild{

}

Serializable annoymousTest = new Serializable() {
};
}

将生成的类是:

  1. TestInnerOuterClass.class
  2. TestInnerOuterClass$TestInnerChild.class
  3. TestInnerOuterCasss$1.class

更新:

使用匿名类并不被认为是一种不好的做法,它只取决于用法。

检查this关于SO的讨论

关于java编译的类包含美元符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62245666/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com