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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 980344791 中级黑马   /  2014-10-9 22:04  /  1736 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一个java文件中可以有多个public类吗?

15 个回复

倒序浏览
只能有一个public权限的类,而且该Public的类要与文件名一致。但是可以有多个默认的class类。
回复 使用道具 举报
不可以!只能有一个,原因:1. public修饰后的类名必须与文件名同名;2. 在包访问时,以public修饰的类为入口(因为public为最大的访问修饰符),如果多个public就会不严谨,无法访问。
回复 使用道具 举报
一个JAVA中只能有一个public类
回复 使用道具 举报
楼主你好,一个java文件中是不能有多个public类的,但你说的是一个java文件夹的话,因为可以放好多java类,而每个类都可以有一个public类,所以那样是可以有多个public类的
回复 使用道具 举报
一个.java文件中可以有很多类。不过注意以下几点:

1.public 权限的类只能有一个(也可以一个都没有,但最多只有1个)

2.这个.java文件的文件名必须是public类的类名(一般的情况下,这里放置main方法是程序的入口。)

3.若这个文件中没有public的类,则文件名随便是一个类的名字即可

4.你用Javac 编译这个.java文件的时候,它会给每一个类生成一个.class文件
回复 使用道具 举报
学习了。
回复 使用道具 举报
不可以!
回复 使用道具 举报
学习了。
回复 使用道具 举报
暴风 发表于 2014-10-9 22:19
不可以!只能有一个,原因:1. public修饰后的类名必须与文件名同名;2. 在包访问时,以public修饰的类为入 ...

谢谢解答,我也有和楼主相同的疑问。瞬间豁然开朗
回复 使用道具 举报
一个java文件中可以有多个类,但有且只有一个public类,而且类名必须与java文件名相同,java程序都是从public类的主函数开始执行的。
回复 使用道具 举报
不可以的
回复 使用道具 举报
这个比较基础啊。一个java文件,jar包中,一个java软件(java se +图形界面+数据库)中,可以有很多歌public的类的,只是在一个public类中只能有一个公共的主方法,而且还是静态的方法,形如public static void main(){};那么多public类在运行的时候怎么区分呢,运行时往往会让你选择一个主方法运行,或者指定一个默认的public来运行。所以在发布的jar包中往往都会有一个MANIFEST.MF文件,这个文件就是告诉java虚拟机你要运行的是哪个public类的主方法。这样就不会乱套了,如下是一个MANIFEST.MF文件的例子:
Manifest-Version: 1.0
Main-Class: com.zzk.frame.LoginFrame
Class-Path: . lib/jtds-1.2.2.jar

       你说java文件,不知道你说的是哪种java文件,所以就大概给你回答全面一点。
回复 使用道具 举报
我来学习一下
回复 使用道具 举报
踏云 中级黑马 2014-10-10 23:57:05
15#
一个类文件只能有一个public class,而且类文件的名字要与public class 相同
回复 使用道具 举报
13楼解释的确实很具体,不可能只有一个public
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马