一个.java文件中是否可以有多个类

时间:2022-11-30 19:54:03

前段时间,有个同事问到我这个问题:一个.java文件中是否可以有多个类?

答案:可以有多个类,但最多只能有一个被public修饰的class。

且若这个.java文件中有一个public类型的class,则这个class名需与.java文件名一致。

 

举例:

文件A.java里有如下类

 一个.java文件中是否可以有多个类

 

public class A1会报错,报错信息是如下:提示public 类型的A1必须定义在它自己的文件中

一个.java文件中是否可以有多个类

 

因此一个java文件中是不能同时有两个public 类型的class的。

 

说到这里,有人可能有疑问:

明明我看到java是有四种访问权限(public,default(只允许本包内使用),private以及protected)的呀,为什么上面没有被private和protected修饰的类呢?

private和protected只会用来修饰类的属性,方法和内部类。你想如果外部类是private的,其他任何的类都无法访问这个类,那么这个类就没有任何意义了