*.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.'");
}
}
報錯:
測試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函數執行成功!
測試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();
}
}
個人猜測:以上main函數測試,說明不存在main()函數找不到的問題,個人認爲,一個*.java對應一個public類是一種較好的代碼編寫方式。如果
代碼編寫者希望其某一*.java中包含不止一個public修飾class,他必須將該*.java文件拆分爲多個*.java文件纔行。
--個人觀點,歡迎指教!!!