黑马程序员技术交流社区

标题: 类的访问控制 [打印本页]

作者: 周斌    时间: 2012-11-4 00:32
标题: 类的访问控制
本帖最后由 周斌 于 2012-11-7 12:02 编辑

    只要在class之前,没有使用public修饰符,原文件的名称可以是一切合法的名称,带有public修饰符的类的类名必须与源文件的类名相同,那么,一个.java 的源文件中能否包含多个public的类呢?
作者: 颜峰    时间: 2012-11-4 00:48
一个.java源文件中可以有多个类,但只能有一个public修饰的类,因为带有public修饰符的类的类名必须与源文件的类名相同,这个java源文件总不能有多个名字吧
作者: 黑马贾林栋    时间: 2012-11-4 00:55
一个java源文件中,可以有多个类,但是只能有一个public类,并且源文件的名字必须与这个类的名字完全相同
作者: 种生祥    时间: 2012-11-4 01:10
一个java文件中最多只能有一个public修饰的类或者接口,否则会编译失败
作者: 奋斗的青春    时间: 2012-11-4 09:19
当编写一个Java源代码文件时,此文件通常被称为编译单元(有时也称为转译单元)。每个编译单元都必须要有一个后缀为.java,而在编译单元内测可以有一个public类,该类的名称必须与文件名称相同(包括大小写,但不包括文件的后缀名.java)。每个编译单元只能有一个public类,否则编译器就不会接受。如果在该编译单元之中还有额外的类的话,那么在包之外的世界是无法看见这些类的,这是因为他们不是public类,而且他们主要用来为主要public类提供支持。

1. 每个编译单元(文件)都只能有一个public类。这表示,每个编译单元都有单一的公共接口,用public类来表现。该接口可以按要求包含众多的支持包访问权限的类。如果在某个编译单元内有一个以上的public类,编译器就会给出出错信息。
2. public类的名称必须完全与含有该编译单元的文件名相匹配,包括大小写。所以对于Widget而言,文件的名称必须是Widget.java, 而不是widget.java或WIDGET.java。如果不匹配,同样将得到编译时错误。
3. 虽然不是很常用,但编译单元内完全不带public类也是可能的。这种情况下,可以随意对文件命名。(尽管随意命名会使得人们在阅读和维护代码时产生混淆。)




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