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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

为什么Eclipse里面只能有一个public类啊

12 个回复

倒序浏览
java中规定 文件名必须和public修饰的类名  一致,如果有多个pulic注释的类,那么这个文件名属于哪个类呢?从jvm的安全设计考虑,一个class文件中只提供一个接口,我想这也是为什么只能有一个public修饰的类吧。
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报 1 0
可以有多个,要到函数那里
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报 1 0
kevin0 发表于 2016-11-26 11:28
可以有多个,要到函数那里

没听明白
回复 使用道具 举报
yibuhuiba 发表于 2016-11-26 16:13
没听明白

你学到函数那里就知道了,可以有多个修饰符,手冷,你可以私信
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
没有为什么,规定就是这样,写多了就报错
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
你是说在同一个.java源文件里有两个类然后只能有一个是用public修饰?
回复 使用道具 举报
本帖最后由 1413157322 于 2016-11-26 22:45 编辑

java源文件中可以有多个类,但只能有一个public类,并且public的类名必须与文件名一致
1、每个编译单元(文件)只能有一个public 类。这么做的意思是,每个编译单元只能有一个公开的接口,而这个接口就由其public 类来表示。你可以根据需要,往这个文件里面添加任意多个提供辅助功能的package 权限的类。但是如果这个编译单元里面有两个或两个以上的public 类的话,编译器就会报错。
2. public 类的名字必须和这个编译单元的文件名完全相同,包括大小写。所以对Widget 类,文件名必须是Widget.java,不能是widget.java 或WIDGET.java。如果你不遵守,编译器又要报错了。
3. 编译单元里面可以没有public 类,虽然这种情况不常见,但却是可以的。这时,你就能随意为文件起名字了。
回复 使用道具 举报
1413157322 发表于 2016-11-26 22:43
java源文件中可以有多个类,但只能有一个public类,并且public的类名必须与文件名一致
1、每个编译单元(文 ...

不明觉厉啊
回复 使用道具 举报
1413157322 发表于 2016-11-26 22:31
你是说在同一个.java源文件里有两个类然后只能有一个是用public修饰?

是的啊
回复 使用道具 举报
kevin0 发表于 2016-11-26 18:46
你学到函数那里就知道了,可以有多个修饰符,手冷,你可以私信

谢谢啦!
回复 使用道具 举报
可以有多个,但是要是内部类,就是要在第一个public类里面定义
回复 使用道具 举报
kevin0 高级黑马 2016-11-27 19:32:54
13#
huwenkai 发表于 2016-11-27 17:34
可以有多个,但是要是内部类,就是要在第一个public类里面定义

是并列关系,但是main函数是作为程序入口必须放在第一个,
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马