gpt4 book ai didi

java - 在java中编译Tic Tac Toe游戏程序时,创建了一个(附加$名称).class

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

编译 Tic Tac Toe 代码时以及使用 swing 和 awt 包在 java 中运行一些代码时。我正在生成一个附加 $ 的类文件,与 ClassName.class 文件并行。可能是什么原因?它是否由于使用了 ActionListeners 而发生了。通常,在执行涉及结构的 C 程序时,会生成此类 .bak 文件的创建。

需要有关这两种情况的支持。

最佳答案

名称中包含 $ 的类文件只不过是您可能在顶部使用的内部类匿名内部类 -等级类别。

例如,如果您有这样的类声明:-

public class A {
public class B {
}
}

然后您将生成两个类文件: - A.classA$B.class。这显示了 B 类 包含在 A 类 中。

如果是 ActionListener,这就是您的代码中正在发生的情况。

更新:-

如果您使用匿名内部类,那么您还将获得其中包含$的类名:-

interface A {
public void show();
}

public class Foo {
public static void main(String[] a) {

new A() {
@Override
public void show() {
System.out.println("Hello");
}
}.show();
}
}

那么生成的类文件将是: - Foo.classFoo$1.class

因此,如果您使用 ActionListener 作为匿名内部类,那么您也会在您的 类文件 名称中得到该 $那个匿名内部类

关于java - 在java中编译Tic Tac Toe游戏程序时,创建了一个(附加$名称).class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13207167/

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