经常看到com。* package命名空间。 'com'是什么意思?感谢。
答案 0 :(得分:60)
包的命名约定在JLS中指定。这是相关的片段(该部分还有更多内容):
您首先拥有(或属于具有)互联网域名的组织(例如
sun.com
),从而形成唯一的包名称。然后,您可以逐个组件地反转此名称,以获取com.sun
,在此示例中,使用此名称作为包名称的前缀,使用组织内部开发的约定来进一步管理包名称。
在Sun的代码约定文档的Naming Conventions部分中也给出了它:
包:唯一包名称的前缀始终以全小写ASCII字母书写,应该是顶级域名之一,目前为
com
,{{1 }},edu
,gov
,mil
,net
或标识ISO标准3166,1981中规定的国家/地区的英文双字母代码之一。软件包名称的后续组件根据组织自己的内部命名约定而有所不同。此类约定可能指定某些目录名称组件是分区,部门,项目,计算机或登录名。
示例:
org
,com.sun.eng
,com.apple.quicktime.v2
因此,包名称中的edu.cmu.cs.bovik.cheese
前缀与.com
suffix in domain names相同:“commercial”。
答案 1 :(得分:27)
当它创建Java时,Sun建立了一个约定,即应该从公司的反向域名或创建包的个人开始构建包名。由于DNS保证域名是唯一的(即只提供给一个组织或个人),因此可以避免重复。
因此,Microsoft的Java软件包的名称以com.microsoft
开头,Sun的名称为com.sun
,依此类推。
答案 2 :(得分:7)
标准库以外的Java包通常以与供应商域相反的顺序命名,例如: Microsoft使用com.microsoft
,Apache可能使用org.apache
等。(有关Java中命名约定的详细信息,请参阅this link。)这是为了防止命名冲突。所以com
只是域名的一部分,它对Java没有特殊意义。
没有要求您以这种方式命名您的软件包,对于任何可能远程最终在您的组织外部使用的软件包来说,这是一个非常好的主意。
答案 3 :(得分:4)
com 源自商业。 例如 org 来自组织。
答案 4 :(得分:0)
包表示包含类和接口的相关组的目录。 包是两种类型。 1.内置包装。 2.用户定义包。 注意。包可以包含子包。 例如。 java.awt(这里的awt是一个包); java.awt.event(这里的事件是一个存在于java.awt中的子包)
答案 5 :(得分:-1)
如果您之前没有这样做 - 下载某些Java应用程序的源代码(例如jEdit)并查看源代码中的文件结构。它可能会澄清一切。在jEdit中有几个不同的包,所以你会看到一切是如何工作的。
顺便说一下 - 如果你从来没有读过任何人的代码 - 那么就去吧!即使你不了解所有内容或只是一小部分 - 这样做是因为它是一个很好的编程实践学校!