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

时间:2014-09-18 18:33:05

标签: java

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

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

即使以不同的文件名保存。

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

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

2 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:2)

请注意:

class xyz

不是公共类,因此无法从文件外部获取。因此,它不需要具有相同的名称。但在这种情况下:

public class xyz

你确实有一个公开的classe,它会从文件外部被激活,因此它需要具有相同的名称。

结论:公共类需要使文件名与类完全相同。