千家信息网

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

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,今天小编给大家分享一下同一个java文件只能有一个public类吗的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获
千家信息网最后更新 2024年11月11日同一个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安全错误 数据库的锁怎样保障安全 网络安全防护用品专项整治 流程管理软件 数据库设计 服务器几个硬盘几个cpu 网页就是连数据库 收银机能连接前台数据库吗 广州项目软件开发定做 mysql数据库备份方案 检测到正在用移动数据库 万方数据库怎么下载中外标准 组态软件系统的数据库包括 胜利实验小学网络安全教育活动 兼职用什么app软件开发 简易记事本不用数据库 计算机网络技术五年的过程 免费服务器平台 编程猫网络安全课 新华三网络安全产品经理待遇 frp免费服务器 课表在数据库中怎么存 网络安全个人信息范围是什么 数据库字段描述存在哪里 数据库猫坏了怎么安装 服务器几个硬盘几个cpu 手机及数据软件开发 儿童网络安全宣传册制作 如何在我的世界电脑版下载服务器 内丘县委网络安全和信息化 网络安全问题研究报告文档 影视网站服务器系统 网络安全法几个不准
0