📅  最后修改于: 2020-02-10 15:24:32             🧑  作者: Mango
在Java课堂上的第一个讲义是“在Java中文件名和类名应该相同”。违反上述规则时,将出现如下编译错误消息
/***** 文件名: Trial.java ******/
public class mango
{
public static void main(String[] args) {
System.out.println("Hello world");
}
}
输出:
Javac Trial.Java
Trial.Java:9: error: class mango is public, should be
declared in a file named mango.Java
public class mango
^
1 error
但是以这种方式编译上述文件可能会违反规则。
/***** 文件名: Trial.java ******/
class mango
{
public static void main(String[] args) {
System.out.println("Hello world");
}
}
步骤1:
javac Trial.java
步骤1将创建一个mango.class(字节码),而不会出现任何错误消息,因为该类不是公共public的。
步骤2:
java magno
现在输出将是Hello world
仅当在公共目录中声明类时,有关文件名和类名才应该相同。
以上程序的工作原理如下:
现在,可执行此.class文件。通过以上功能,可以实现更多奇迹。Java文件中可能有许多类。出于调试目的,可以使用此方法。每个类都可以单独执行以测试其功能(不应使用继承概念)。
但是总的来说,遵循规则是好的。
例如:
/*** 文件名: Trial.java ***/
class ForMango
{
public static void main(String[] args){
System.out.println("For 芒果 class");
}
}
class MangoTest
{
public static void main(String[] args){
System.out.println("芒果 Test class");
}
}
当上述文件编译为Javac时,Trial.java将创建两个.class文件,例如ForMango.class和MangoTest.class。
由于每个类都有单独的main()存根,因此可以单独对其进行测试。
Java ForMango执行输出是For 芒果 class。
Java MangoTest执行输出是芒果 Test class。