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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 吴文华 于 2012-2-19 21:07 编辑

看毕老师视频,看他在一个Java文件中写了几个类(我知道他是为了方便讲解),我想问下,在一个".java"源文件中包括多个类(不是内部类)有什么样的限制没?  是不是可以无限定义。我是说理想情况。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

11 个回复

倒序浏览
限制是一个".java"源文件中public修饰的类只能有一个,java源文件的文件名是以主函数所在类的类名命名的。我认为理想情况下应该是可以无限定义的。

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
可以定义多个类,但毕竟不能在一个文件中添加,你说对不??
一个类就写一个javabean,内容清晰直观 这在实际开发中很重要的。
回复 使用道具 举报
一个“.java”文件中 可以包括多个类,
但是只能有一个public类,且该public类的类名必须与文件名相同

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
一个".java"源文件中public修饰的类只能有一个,java源文件的文件名是以主函数所在类的类名命名的。
写多个非public类没什么问题,但是你在引用的时候要注意,类的修饰符。因为你把他们分开写,它们自然就不在同一个包里了。
作用域       当前类    同一package   子孙类     其他package

public           √            √           √               √

protected     √            √             √             ×

friendly       √             √             ×              ×

private        √             ×              ×             ×

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
原则上来讲可以在一个文件中创建很多个类,但是一个.java文件中只能定义一个public类,并且类名应该跟文件名相同。
除了public主类,其它类都是具有default访问限制。这就决定了,这些类只对包内可见,包外无法访问。

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

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


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

public           √            √           √               √
private        √             ×              ×             ×
回复 使用道具 举报
一个java文件可以同时存在多个类,但是必须只有一个public类,而且此类的类名与文件名一致
回复 使用道具 举报
同上吧,一个java文件里面是可以定义无数个class,但有几个前提里面只能有一个公共类并且类名必须跟.java文件名相同,还有几个class不能同名。
虽然可以定义很多的class但是我还建议你不要在一个.java里面定义太多,这样的话项目开发就不容易管理了
回复 使用道具 举报
6666666666
回复 使用道具 举报
DxxD 中级黑马 2015-3-12 09:44:32
12#
嗯嗯,视频老师说的太快了听不清,这里找到答案了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马