很多人经常忽视的Java基础知识点

*.Java文件

问题:一个”.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?

为什么一个java源文件中只能有一个public类? 在java编程思想(第四版)一书中有这样3段话(6.4 类的访问权限):

1.每个编译单元(文件)都只能有一个public类,这表示,每个编译单元都有单一的公共接口,用public类来表现。该接口可以按要求包含众多的支持包访问权限的类。如果在某个编译单元内有一个以上的public类,编译器就会给出错误信息。
2.public类的名称必须完全与含有该编译单元的文件名相同,包含大小写。如果不匹配,同样将得到编译错误。
3.虽然不是很常用,但编译单元内完全不带public类也是可能的。在这种情况下,可以随意对文件命名。

总结相关的几个问题:

1、一个”.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?

答:可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。

2、为什么一个文件中只能有一个public的类 ?

答:编译器在编译时,针对一个java源代码文件(也称为“编译单元”)只会接受一个public类。否则报错。

3、在java文件中是否可以没有public类 ?

答:public类不是必须的,java文件中可以没有public类。

4、为什么这个public的类的类名必须和文件名相同 ?

答: 是为了方便虚拟机在相应的路径中找到相应的类所对应的字节码文件。

Main方法

暂无评论

我干了什么 究竟拿了时间换了什么

发表评论