千家信息网

同一个java文件只能有一个public类吗

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,今天小编给大家分享一下同一个java文件只能有一个public类吗的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获
千家信息网最后更新 2026年11月01日同一个java文件只能有一个public类吗

今天小编给大家分享一下同一个java文件只能有一个public类吗的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

在阅读JDK源码时可能会看到在一个public class中"居然"存在另一个public class,似乎跟学习java时提到的"同一个源程序中只能有一个public类"有点矛盾。其实不然,一张图足以完全说明:

补充:

问题:一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?

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

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

  在java编程思想(第四版)一书中有这样3段话(6.4 类的访问权限):

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

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

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

当java源文件不存在public类时,会出现什么情况?

此时程序编译通过,在相应路径下产生了三个.class文件。直接点击运行,程序是不能运行的,我们需要鼠标右键点击程序----->Run As----->Java Aplication----->选数据来源

个人总结:

一个编译单元(java文件)可以存在多个类,在编译时产生多个不同的.class文件,.class文件便是程序运行的数据来源。java将public类作为每个编译单元的数据接口,只能有一个,不然不能处理存在多个类的java文件。当一个编译单元(java文件)有多个非public类时,运行时需要对数据来源进行选择。

以上就是"同一个java文件只能有一个public类吗"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

文件 编译 单元 多个 数据 知识 程序 篇文章 运行 不同 接口 文件名 来源 源文件 内容 只有 情况 权限 学习 很大 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网 广东猪兼强互联网科技有限公司 互联网扶贫科技 互联网金融 科技 广州互联网科技公司 广州凡科互联网科技 碳银互联网科技有限公司 互联网金融监管科技 恒生科技互联网指数分析 农村开互联网科技讲堂 北京华百购互联网科技有限公司 互联网公司黑科技创始人 特约风豹互联网科技为什么扣费 上海京穆互联网科技有限公司 互联网相关科技技术 半导体行业属于互联网高科技类吗 科技互联网行业投资研究 互联网对科技影响 互联网科技大会大佬 现代科技的标志之一的互联网 江苏根荣互联网科技 互联网科技公司电话 左右互联网络科技 江苏南京365互联网科技 承德科技产业互联网发展 崇明区互联网教育科技诚信经营 长沙茂晟互联网科技有限公司 山东大美朱楼互联网科技有限公司 西安有哪些互联网高科技企业 互联网科技手机排行榜
0