知其然(3)*.java文件中可以包含多个类,但最多只能有一个类,其修饰符为public

时间:2022-01-09 19:55:54

*.java文件中可以包含多个类,但最多只能有一个类,其修饰符为public。

测试1:文件名Dog.java,文件内容如下:[2个类均为public]

public class Dog{
Dog(){
System.out.println("I'm a dog.");
}
}
public class Cat{
Cat(){
System.out.println("I'm a cat.'");
}
}

报错:

知其然(3)*.java文件中可以包含多个类,但最多只能有一个类,其修饰符为public

测试2:文件名Dog.java或Cat.java,文件内容如下:[2个类均不是public]

class Dog{
Dog(){
System.out.println("I'm a dog.");
}
}
class Cat{
Cat(){
System.out.println("I'm a cat.'");
}
}
编译成功!

测试3:文件名Dog.java或Cat.java,文件内容如下:[main函数在任意类中]

class Dog{
Dog(){
System.out.println("I'm a dog.");
}
public static void main(String[] args){
new Dog();
new Cat();
}
}
class Cat{
Cat(){
System.out.println("I'm a cat.");
}
}
main函数执行成功! 知其然(3)*.java文件中可以包含多个类,但最多只能有一个类,其修饰符为public

测试4:文件名Dog.java文件内容如下:[main函数在非public类中]

public class Dog{
Dog(){
System.out.println("I'm a dog.");
}
}
class Cat{
Cat(){
System.out.println("I'm a cat.");
}
public static void main(String[] args){
new Dog();
new Cat();
}
}
知其然(3)*.java文件中可以包含多个类,但最多只能有一个类,其修饰符为public

个人猜测:以上main函数测试,说明不存在main()函数找不到的问题,个人认为,一个*.java对应一个public类是一种较好的代码编写方式。如果

代码编写者希望其某一*.java中包含不止一个public修饰class,他必须将该*.java文件拆分为多个*.java文件才行。

--个人观点,欢迎指教!!!