A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周斌 中级黑马   /  2012-11-4 00:32  /  1652 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 周斌 于 2012-11-7 12:02 编辑

    只要在class之前,没有使用public修饰符,原文件的名称可以是一切合法的名称,带有public修饰符的类的类名必须与源文件的类名相同,那么,一个.java 的源文件中能否包含多个public的类呢?

评分

参与人数 1技术分 +1 收起 理由
杨志 + 1

查看全部评分

4 个回复

倒序浏览
一个.java源文件中可以有多个类,但只能有一个public修饰的类,因为带有public修饰符的类的类名必须与源文件的类名相同,这个java源文件总不能有多个名字吧
回复 使用道具 举报
一个java源文件中,可以有多个类,但是只能有一个public类,并且源文件的名字必须与这个类的名字完全相同
回复 使用道具 举报
一个java文件中最多只能有一个public修饰的类或者接口,否则会编译失败
回复 使用道具 举报
当编写一个Java源代码文件时,此文件通常被称为编译单元(有时也称为转译单元)。每个编译单元都必须要有一个后缀为.java,而在编译单元内测可以有一个public类,该类的名称必须与文件名称相同(包括大小写,但不包括文件的后缀名.java)。每个编译单元只能有一个public类,否则编译器就不会接受。如果在该编译单元之中还有额外的类的话,那么在包之外的世界是无法看见这些类的,这是因为他们不是public类,而且他们主要用来为主要public类提供支持。

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