Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java com.*包名称空间_Java - Fatal编程技术网

Java com.*包名称空间

Java com.*包名称空间,java,Java,经常会看到com.*包名称空间。“com”是什么意思?谢谢。标准库以外的Java包通常按照与供应商域相反的顺序命名,例如Microsoft使用com.Microsoft,Apache可能使用org.Apache,等等(有关Java中命名约定的详细信息,请参阅)。这是为了防止命名冲突。所以com只是域名的一部分,它对Java没有特殊意义 没有要求您以这种方式命名您的包,对于任何可能在您的组织外部远程使用的包来说,这是一个非常好的主意。当它创建Java时,Sun建立了一个约定,即包名应以创建包的公司

经常会看到com.*包名称空间。“com”是什么意思?谢谢。

标准库以外的Java包通常按照与供应商域相反的顺序命名,例如Microsoft使用
com.Microsoft
,Apache可能使用
org.Apache
,等等(有关Java中命名约定的详细信息,请参阅)。这是为了防止命名冲突。所以
com
只是域名的一部分,它对Java没有特殊意义


没有要求您以这种方式命名您的包,对于任何可能在您的组织外部远程使用的包来说,这是一个非常好的主意。

当它创建Java时,Sun建立了一个约定,即包名应以创建包的公司或个人的反向域名开始构造。因为DNS保证域名是唯一的(即只提供给一个组织或个人),这避免了重复


因此,Microsoft的Java软件包的名称以
com.Microsoft
开头,Sun的Java软件包的名称以
com.Sun
开头,依此类推。

JLS中规定了软件包的命名约定。以下是相关的片段(本节还有更多内容):

通过首先拥有(或属于拥有)Internet域名的组织,例如
sun.com
,可以形成一个唯一的包名。然后逐个组件反转此名称,以在本例中获得
com.sun
,并使用此名称作为包名称的前缀,使用组织内制定的约定进一步管理包名称

Sun的代码约定文档的一节中也给出了这一点:

软件包:唯一软件包名称的前缀始终以所有小写ASCII字母书写,并且应该是顶级域名之一,目前为
com
edu
gov
mil
net
org
,或ISO标准31661981中规定的标识国家的英文双字母代码之一

包名称的后续组件根据组织自身的内部命名约定而有所不同。这些约定可能指定某些目录名组件为部门、部门、项目、机器或登录名

示例:
com.sun.eng
com.apple.quicktime.v2
edu.cmu.cs.bovik.cheese



因此,包名称中的前缀
com.
与“commercial”的意思相同。

com源于commercial。
org是从组织中派生出来的。

如果您以前没有这样做过-下载一些Java应用程序的源代码(例如),查看源代码中的文件结构。它可能会澄清一切。在jEdit中,有几个不同的软件包,因此您将看到所有东西是如何工作的

顺便说一句,如果你从未读过任何人的代码,那就赶快去读吧!!即使你不了解每件事或只是一小部分,也要这样做,因为这是一所优秀编程实践的学校

包表示包含类和接口的相关组的目录。 包有两种类型。 1.内置包。 2.用户定义包。 注意。包可以包含子包。 awt(这里awt是一个包);
java.awt.event(这里event是java.awt中的一个子包)

关于这一点,一个有趣的地方是原始java语言规范建议顶级域部分使用大写字母编写,例如
COM.stackoverflow.api
或其他任何形式。实际上没有人这样做,所以他们更改了唯一的包名建议,如上所述。@Greg:Nice info!在第一版中确实如此!这不是一个坏习惯吗?将您的代码绑定到域名?如果我们变成一个非营利组织,改成.org,我会小心地通过阅读别人的代码来学习。您可能不知道另一个是否正确操作。