黑马程序员技术交流社区

标题: 一个".java"源文件中包括多个类,是不是可以无限定义? [打印本页]

作者: 吴文华    时间: 2012-2-18 23:18
标题: 一个".java"源文件中包括多个类,是不是可以无限定义?
本帖最后由 吴文华 于 2012-2-19 21:07 编辑

看毕老师视频,看他在一个Java文件中写了几个类(我知道他是为了方便讲解),我想问下,在一个".java"源文件中包括多个类(不是内部类)有什么样的限制没?  是不是可以无限定义。我是说理想情况。
作者: 朱辉    时间: 2012-2-18 23:27
限制是一个".java"源文件中public修饰的类只能有一个,java源文件的文件名是以主函数所在类的类名命名的。我认为理想情况下应该是可以无限定义的。
作者: 杜明辉    时间: 2012-2-18 23:44
可以定义多个类,但毕竟不能在一个文件中添加,你说对不??
一个类就写一个javabean,内容清晰直观 这在实际开发中很重要的。
作者: 何招俊    时间: 2012-2-18 23:45
一个“.java”文件中 可以包括多个类,
但是只能有一个public类,且该public类的类名必须与文件名相同
作者: 王康    时间: 2012-2-19 10:20
一个".java"源文件中public修饰的类只能有一个,java源文件的文件名是以主函数所在类的类名命名的。
写多个非public类没什么问题,但是你在引用的时候要注意,类的修饰符。因为你把他们分开写,它们自然就不在同一个包里了。
作用域       当前类    同一package   子孙类     其他package

public           √            √           √               √

protected     √            √             √             ×

friendly       √             √             ×              ×

private        √             ×              ×             ×

作者: 彭坤    时间: 2012-2-19 10:24
原则上来讲可以在一个文件中创建很多个类,但是一个.java文件中只能定义一个public类,并且类名应该跟文件名相同。
除了public主类,其它类都是具有default访问限制。这就决定了,这些类只对包内可见,包外无法访问。

作者: 邱纲    时间: 2012-2-19 10:34
一个.java文件里面是可以定义很多的类,但是也是有条件的。一个.java文件里面只能定义一个public的类,而且这个类要和文件名一致,
可以没有public的类,其余定义的类只能用default修饰,这样,这些被default修饰的类也就被限制在这个包当中了。
作者: 陈伟    时间: 2012-2-19 11:26
一个java文件可以同时存在多个类,但是必须只有一个public类,而且此类的类名与文件名一致


作用域       当前类    同一package   子孙类     其他package

public           √            √           √               √
private        √             ×              ×             ×
作者: 【专】【属】    时间: 2012-2-19 18:11
一个java文件可以同时存在多个类,但是必须只有一个public类,而且此类的类名与文件名一致

作者: 温昌寿    时间: 2012-2-19 18:21
同上吧,一个java文件里面是可以定义无数个class,但有几个前提里面只能有一个公共类并且类名必须跟.java文件名相同,还有几个class不能同名。
虽然可以定义很多的class但是我还建议你不要在一个.java里面定义太多,这样的话项目开发就不容易管理了
作者: 晓之飞    时间: 2015-1-3 22:47
6666666666
作者: DxxD    时间: 2015-3-12 09:44
嗯嗯,视频老师说的太快了听不清,这里找到答案了




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