黑马程序员技术交流社区

标题: 为什么java文件名要和公有类的类名一致? [打印本页]

作者: pancl    时间: 2014-5-19 10:20
标题: 为什么java文件名要和公有类的类名一致?
如题,这是为什么啊?

作者: KevinSmart    时间: 2014-5-19 20:24
Java之所以规定一个Java文件只能有一个public类,主要是为了减少内存的开销,将类名与文件名对应就可以方便虚拟机在相应的路径中找到相应的类的信息。一个Java文件中可以有多个类,但是只能有一个public类,否则编译器会出错。这个Java中的其他类主要是为这个public类服务的,包外面的类是不可以调用这些非public类的。
作者: pancl    时间: 2014-5-19 21:18
那如果类没被public修饰  不是也可以类名和java文件名不一样吗?
作者: 不羁的风1230    时间: 2014-5-19 21:43
可以不一致
作者: liang090214    时间: 2014-5-19 21:52
java语法规定的文件名只能是文件中的公共类的名字加上后缀名“.java”,而且一个文件只能有一个公共类!在java里,文件名与类名之间的关系,有下面这些约束:
1.Java保存的文件名必须与类名一致
2.如果文件中只有一个类,文件名必须与类名一致
3.一个Java文件中只能有一个public类
4.如果文件中不止一个类,文件名必须与public类名一致
5.如果文件中不止一个类,而且没有public类,文件名可与任一类名一致





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2