gpt4 book ai didi

java - .class 文件中的 $ 符号

转载 作者:搜寻专家 更新时间:2023-11-01 04:04:35 25 4
gpt4 key购买 nike

我有一个名为 MyProgram.java 的程序。我想从将在另一台机器上运行的不同目录运行它。所以我创建了一个目录并复制了 MyProgram.class 文件并创建了一个运行它的 .bat 文件 (Run.bat) 其中包括命令: @java MyProgram.

这没有用,我必须复制从 Eclipse 生成的 SPVerification$1.class 才能让它工作。

XXX$1.class 文件是什么?为什么在 XXX.class 文件旁边需要它们才能运行应用程序?

最佳答案

如果您的 .java 文件具有内部/嵌套类,编译后这些类将由 java 编译器生成为 Yourclass$xxx.class 文件。

Inner class definitions produce additional class files. These class files have names combining the inner and outer class names, such as MyClass$MyInnerClass.class. - Source

示例(编辑)

考虑遵循 Class 定义

// MyClass class
public class MyClass{

// Inner class Test1
class Inner1 {
}

// Inner class Test2
class Inner2{
}


public static void main(String [] args) {

// Anonymous inner class 1
new Object() {
};

// Anonymous inner class 2
new Object() {
};

System.out.println("Bunch of $ files :)");
}
}

将生成以下这些文件

MyClass.class
MyClass$Inner1.class
MyClass$Inner2.class
MyClass$1.class
MyClass$2.class

关于java - .class 文件中的 $ 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14375663/

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