概述
一、一个“.java”源文件中是否可以包括多个类(不是内部类)?有何限制?
答:可以有多个类,但只能有一个 public 的类,并且 public 的类名必须与文件名相一致。一个文件中可以只有非 public 类。如果只有一个类,并且是非 public 的,此类可以跟文件名不同。
二、为什么一个 Java 源文件中只能有一个 public 类?
Java 编程思想(第四版)一书中有这样 3 段话(6.4 类的访问权限):
- 每个编译单元(文件)都只能有一个 public 类,这表示,每个编译单元都有单一的公共接口,用 public 类来表现。该接口可以按要求包含众多的支持包访问权限的类。如果在某个编译单元内有一个以上的 public 类,编译器就会给出错误信息。
- public 类的名称必须完全与含有该编译单元的文件名相同,包含大小写。如果不匹配,同样将得到编译错误。
- 虽然不是很常用,但编译单元内完全不带 public 类也是可能的。在这种情况下,可以随意对文件命名。
三、当一个 Java 源文件有多个类,并且都不是 public 类时,会出现什么情况
此时程序编译通过,在相应路径下产生了多个 .class 文件(对应该源文件中类的数目)。直接点击运行,程序是不能运行的,需要鼠标右键点击程序----->Run As----->Java Aplication----->选数据来源
。
四、总结
一个 Java 源文件中可以定义多个类,但是最多只有一个类被 public 修饰,并且这个类的类名与文件名必须相同。若这个文件中没有 public 的类,则文件名可随便命名(前提是符合规范)。要注意的是,当用 javac 指令编译有多个类的 Java 源文件时,它会给该源文件中的每一个类生成一个对应的 .class 文件。
最后
以上就是善良发夹为你收集整理的一个 Java 源文件中只能有一个 public 类一、一个“.java”源文件中是否可以包括多个类(不是内部类)?有何限制?二、为什么一个 Java 源文件中只能有一个 public 类?三、当一个 Java 源文件有多个类,并且都不是 public 类时,会出现什么情况四、总结的全部内容,希望文章能够帮你解决一个 Java 源文件中只能有一个 public 类一、一个“.java”源文件中是否可以包括多个类(不是内部类)?有何限制?二、为什么一个 Java 源文件中只能有一个 public 类?三、当一个 Java 源文件有多个类,并且都不是 public 类时,会出现什么情况四、总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复