类名与java中的文件名相同?

Moo*_*ose 3 java

在java中,filename应该与main类相同.这是告诉编译器这是您的切入点的方式.但为什么这件事有效:

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

即使用不同的文件名保存.

为什么当用不同的文件名保存时这个东西不会:

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

khe*_*ood 9

公共类必须位于具有正确文件名的文件中.非公共类可以在您想要的任何文件中.如果方便的话,甚至可以在同一个文件中使用多个类.