黑马程序员技术交流社区

标题: 关于public关键字 [打印本页]

作者: 980344791    时间: 2014-10-9 22:04
标题: 关于public关键字
一个java文件中可以有多个public类吗?
作者: 646245771    时间: 2014-10-9 22:09
只能有一个public权限的类,而且该Public的类要与文件名一致。但是可以有多个默认的class类。
作者: 暴风    时间: 2014-10-9 22:19
不可以!只能有一个,原因:1. public修饰后的类名必须与文件名同名;2. 在包访问时,以public修饰的类为入口(因为public为最大的访问修饰符),如果多个public就会不严谨,无法访问。
作者: THE_FUTURE    时间: 2014-10-9 23:11
一个JAVA中只能有一个public类
作者: HM2014nuli    时间: 2014-10-10 07:43
楼主你好,一个java文件中是不能有多个public类的,但你说的是一个java文件夹的话,因为可以放好多java类,而每个类都可以有一个public类,所以那样是可以有多个public类的
作者: date1130    时间: 2014-10-10 07:47
一个.java文件中可以有很多类。不过注意以下几点:

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

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

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

4.你用Javac 编译这个.java文件的时候,它会给每一个类生成一个.class文件
作者: 不系之舟王    时间: 2014-10-10 08:32
学习了。
作者: yueyazhishang    时间: 2014-10-10 08:33
不可以!
作者: shileishihai    时间: 2014-10-10 08:36
学习了。
作者: 情歌~浅唱    时间: 2014-10-10 08:44
暴风 发表于 2014-10-9 22:19
不可以!只能有一个,原因:1. public修饰后的类名必须与文件名同名;2. 在包访问时,以public修饰的类为入 ...

谢谢解答,我也有和楼主相同的疑问。瞬间豁然开朗
作者: 20140829    时间: 2014-10-10 08:58
一个java文件中可以有多个类,但有且只有一个public类,而且类名必须与java文件名相同,java程序都是从public类的主函数开始执行的。
作者: 黄小橙    时间: 2014-10-10 09:13
不可以的
作者: tiancairc    时间: 2014-10-10 09:23
这个比较基础啊。一个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文件,所以就大概给你回答全面一点。
作者: yangzhong1991    时间: 2014-10-10 09:31
我来学习一下
作者: 踏云    时间: 2014-10-10 23:57
一个类文件只能有一个public class,而且类文件的名字要与public class 相同
作者: 青峰牧雪    时间: 2014-10-11 10:47
13楼解释的确实很具体,不可能只有一个public




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