打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一个.java源文件中是否可以包括多个类(不是内部类)?有什么限制?

一个.java源文件中可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。一个文件中可以只有非public类。如果只有一个类,并且是非public的,此类可以跟文件名不同。

为什么一个Java源文件中只能有一个public类呢?

1.每个编译单元(文件)都只能有一个public类,这表示,每个编译单元都有单一的公共接口,用public类来表现。该接口可以按要求包含众多的支持包访问权限的类。如果在某个编译单元内有一个以上的public类,编译器就会给出错误信息。

2.public类的名称必须完全与含有该编译单元的文件名相同,包含大小写。如果不匹配,同样将得到编译错误。

3.虽然不是很常用,但编译单元内完全不带public类也是可能的。在这种情况下,可以随意对文件命名。

当一个Java源文件有多个类,并且都不是public类时,会出现什么情况呢?

此时程序编译通过,在相应路径下产生了多个.class文件(对应该源文件中类的数目)。直接点击运行,程序是不能运行的,需要鼠标右键点击程序然后选择Run As接着选择Java Aplication最后选择选数据来源运行,就可以了。

总结一下就是:

一个Java源文件中可以定义多个类,但是最多只有一个类被public修饰,并且这个类的类名与文件名必须相同。若这个文件中没有public的类,则文件名可随便命名(前提是符合规范)。要注意的是,当用javac指令编译有多个类的Java源文件时,它会给该源文件中的每一个类生成一个对应的.class 文件。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
浅谈为什么一个java源文件中只能有一个public类?
大数据 java基础之java语法
浅谈为什么一个java源文件中只能有一个public类?
java 编译路径以及运行路径
Java官方笔记1编写运行Java程序
Java程序编译和运行的过程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服