如果文件名和类名不同,java如何编译文件?

-4 java

此文件名保存为,abc.java但可以编译生成xyz.class.为什么这可能?

class xyz {
    public static void main(String args[]) {
        System.out.println("hello ");
    }
}
Run Code Online (Sandbox Code Playgroud)

Eel*_*Lee 5

因为只需要将公共类命名为.java文件.未声明的类public可以保存在不同名称的文件中.

编辑:对于public类,javac会生成以下错误:

abc.java:1: error: class xyz is public, should be declared in a file named xyz.java
public class xyz {
       ^
1 error
Run Code Online (Sandbox Code Playgroud)

  • 实际上,你没有得到任何挫折.(编辑,显然我已经迟到了.) (3认同)