当前位置: 首页 > 面试题库 >

java强制性软件包声明

公孙宸
2023-03-14
问题内容

在Java中,为什么每个类都必须声明其所属的包。我的意思是,已经使用文件系统的文件夹结构描述/强制使用了软件包hierachy。在我看来,该行:

package com.mypackage;

作为每个类的第一行,都是多余的信息。但我很确定有充分的理由让它存在。


问题答案:

我的意思是,已经使用文件系统的文件夹结构描述/强制使用了软件包hierachy。

不必要。虽然以这种方式组织代码当然是一个好主意,但这不是必需的。还请记住,源代码不必位于文件系统中。

从根本上讲,我认为将源文件的 内容 置于重要位置是完全合理的。哎呀,您可以将其推到另一个极端,并假设该类由文件名声明-
这不仅是一种约定,而且是一个明确有效的(在JLS中),将由编译器针对公共顶级类强制执行



 类似资料:
  • 问题内容: 我正在使用Eclipse,并且有一段时间没有使用Java了。但是,我可以在命令行上编译我的代码,并生成必要的文件。在Eclipse中,它抱怨。这是什么意思,我该如何解决? 样例代码: 我的项目的名称是。 问题答案: Eclipse希望声明的包与目录层次结构匹配-因此,它希望Java文件位于源根目录下的“ Devices”目录中。目前,该文件似乎直接位于您的源根目录中。因此,创建适当的目

  • 目录 第一章 - 介绍 第二章 – MQTT控制报文格式 第三章 – MQTT控制报文 第四章 – 操作行为 第五章 – 安全 第六章 – 使用WebSocket 第七章 – 一致性目标 附录B - 强制性规范声明 这个附录是非规范的,只作为本文档正文中可以找到的大量一致性声明的摘要提供。一致性要求的限制列表见第七章。 表格:强制性规范声明 声明序号 规范声明 [MQTT-1.5.3-1] UTF

  • 问题内容: 我正在尝试在Eclipse中编写Java应用程序。 我真的很想使用ACM.Program软件包,但是,我的Eclipse副本没有安装它! 我在网上查找了所有内容,但找不到ACM软件包的单个下载内容。 更多信息:每当我尝试代码时: 我在阴阳上回出现错误,都暗示没有“ acm.program”之类的东西。 无论如何,我需要知道在哪里可以找到ACM软件包,以及如何安装它。 谢谢! -弗林 问

  • 我试图用JenkinsFile构建一个Jenkins声明性管道。Jenkinsfile将出现在项目的回购中。

  • Tazpkg - 软件包管理器 Slitaz提供一个小型软件包管理器,它能轻易在系统里安装许多软件。Tazpkg是一个由SHell脚本写的轻量级的软件包管理器,能安 装.tazpkg文件。它能在Busybox、ash shell和bash中正常运行。Tazpkg可以让你列出软件包列表、安装软件包、删除软件包、下载软件包、解压软件包、打包软件包、查找软件包或者取 得有关可用软件包或所有已安装软件包的

  • 问题内容: 我们有一个带有 Java 文件的 Maven 项目(打包为JAR)。最近将一个新的 Java 源文件添加到该项目中。添加Java文件的路径与其包声明不匹配。不出所料,Eclipse在类中显示了不匹配的错误。但是,Maven可以很好地构建项目。在生成的JAR文件中,.class文件位于包声明所指示的路径中。我们试图将Java源文件移动到其他不正确的文件夹中(即与包声明不同),但是每次Ma