为什么java中的包命名一开始就有TLD

为什么java中的包命名一开始就有TLD,java,Java,为什么java建议在包名的开头使用TLD,即为什么必须使用TLD package com.example.pack; 也可以 package pack.example.com; 只是想知道决定将TLD放在开头的原因是什么。这一约定已被记录在案,它已被证明适用于许多事情 宇宙是com,可以是SG、ORG或任何TLD: 接下来是您的域示例 然后是您的项目包 然后是您的层web | ejb |数据 这个约定是有文档记录的,它是经过验证的,并且适用于很多事情 宇宙是com,可以是SG、ORG或任何T

为什么java建议在包名的开头使用TLD,即为什么必须使用TLD

package com.example.pack;
也可以

package pack.example.com;

只是想知道决定将TLD放在开头的原因是什么。

这一约定已被记录在案,它已被证明适用于许多事情

宇宙是com,可以是SG、ORG或任何TLD:

接下来是您的域示例

然后是您的项目包

然后是您的层web | ejb |数据


这个约定是有文档记录的,它是经过验证的,并且适用于很多事情

宇宙是com,可以是SG、ORG或任何TLD:

接下来是您的域示例

然后是您的项目包

然后是您的层web | ejb |数据


该包对应于文件系统中的目录。pack.example.com和pack.example2.net都将位于同一目录中,即使url表明它们不相关,但对于com.example.pack和net.example2.pack,相关包位于同一目录中。

该包对应于文件系统中的目录。pack.example.com和pack.example2.net都将位于同一个目录中,即使url表明它们不相关,但对于com.example.pack和net.example2.pack,相关的包位于同一个目录中。

从更一般的目录到更具体的目录是常见的惯例,反之亦然

同样,我们写道:

package_name.class_name而非class_name.package_name; 对象.成员; 外类、内类;
诸如此类。

从更一般的到更具体的只是一种常见的惯例,而不是从更一般的到更具体的

同样,我们写道:

package_name.class_name而非class_name.package_name; 对象.成员; 外类、内类;
依此类推。

Java包名称应始终从最不特定到最特定。
因此,它应该始终以域名开头

Java包名称应始终从最不特定到最特定。
因此,它应该始终以域名开头

这样做的一个很好的原因是,类名是以包名为前缀的,而不是以包名为后缀的——因此,在每个点之后,您都朝着相同的方向移动。此外,包名映射到目录名,目录名也强制使用最广泛的一级顺序。

一个很好的原因是,类名是以包名为前缀的,而不是以包名为后缀的,因此在每个点之后都是以相同的方向移动的。此外,包名映射到目录名,目录名也强制使用最广泛的一级顺序。

在树中,主干是主要部分,而叶子是较不一般的部分

包名称是一个树


考虑在类路径中的所有类中搜索由您编写的类。你可以启动com.*com.example.*等等,直到找到你的树。

在树上,树干是主要部分,叶子是次要部分

包名称是一个树


考虑在类路径中的所有类中搜索由您编写的类。您可以启动com.*com.example.*etc等,直到找到自己的名称空间。

主要目的是通过分层组织类和资源(如文件系统)来避免名称空间冲突。如果引用一个文本文件MyDoc.txt\My Documents\C:,会很尴尬。使用您的TLD名称,反向地,从更一般到更具体地更自然地组织事物。

主要目的是通过分层组织类和资源(如文件系统)来避免名称空间冲突。如果引用一个文本文件MyDoc.txt\My Documents\C:,会很尴尬。使用您的TLD名称(反向),可以更自然地从更一般到更具体地组织事物。

除了“宇宙是com”这句话之外,还有许多其他常用的顶级软件包名称。e、 org或netI'd upvote除了“宇宙是com”这句话外,还有许多其他常用的顶级软件包名称。e、 org或net
com.example.pack.web
com.example.pack.ejb
com.example.pack.data
com.example.project2.web
com.example.project2.ejb
com.example.project2.data
com.singtel.projecta.web
com.singtel.projectb.data