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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 阿苏勒 中级黑马   /  2014-7-5 11:11  /  1147 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么一个java文件中,最多只可以有一个类或接口定义为public。
定义多个为什么不行?
谁能用大白话解释一下。谢谢大家。

3 个回复

倒序浏览
补充一下,这个类的名字还得与。java文件名一样,这样就是让jvm直接访问这个类,这个类为这个包提供了这么个唯一被外部访问的接口,
回复 使用道具 举报
每个编译单元(例如:Hello.java)里面如果有public只能有一个。
因为每一个编译单元只能有一个公开的接口,这个接口由public来表示。
如果出现两个或两个以上的public,编译器会报错。
回复 使用道具 举报
java文件中允许有多个class,但是只能有一个用public修饰。因为java的编译器机制是从这个public开始的,如果你加的这个类里面不是pubic static void main();编译器就会报错了,而且,你加的这个public 的class名必须是你Java的文件名,否则也会报错,简单的说就是,因为一个java文件中可以有多个class文件,作为开始的入口,只需要一个就可以了,你要是定义了多个class都是public修饰的的话,那你说虚拟机,他到底从哪开始呢?
所以只需要一个就可以了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马