gpt4 book ai didi

Java:自动为每个类创建一个.class文件

转载 作者:行者123 更新时间:2023-12-01 18:37:19 32 4
gpt4 key购买 nike

假设我有一个 A.java,它在同一个文件中包含两个类(公共(public)类和私有(private)类)。

public class A{
public static void main(string[] args){
...
}
}

class B{
...
}

为什么Java在编译A.java时会自动创建A.class和B.class?

是为了避免此类问题吗? https://stackoverflow.com/a/2336762/2034015

What happens if Foo.java refers to Baz but not Bar and we try to compile Foo.java? The compilation fails with an error like this:

Foo.java:2: cannot find symbol symbol : class Baz location: class Foo private Baz baz; ^ 1 error

另外,我知道使用 Java 的正确方法是每个类一个文件,但我想知道为什么 Java 会这样做。

最佳答案

Java 的工作原理是从源代码生成的 .class 文件。每个文件只能有一个公共(public)类,但可以有许多其他类(包括内部/匿名/静态等 - 内部类在外部类前面有 $ 名称,匿名类在 $ 之后只有数字)在一个文件中,但它仍然会被编译成更多的类。因此关系将是源文件:字节码文件 - 1:n

关于Java:自动为每个类创建一个.class文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21392811/

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