为什么包名通常以"com"开头

Nis*_*mar 36 java package

可能重复:
Java包com和org

我是一名java开发人员.如今我正在学习struts,在阅读教程时,我的脑海中充满了好奇心

package com.something.something;
Run Code Online (Sandbox Code Playgroud)

我知道这是一个非常简单的包装声明但是怎么样

package **com**.something.something;
Run Code Online (Sandbox Code Playgroud)

此包名称片段通常出现在许多商业发行版中.现在我想知道它是什么意思?请澄清一下.

如果我无法澄清,谢谢,对不起......

Sah*_*hoo 38

它只是一个命名空间定义,以避免类名冲突.这com.domain.package.Class是一种既定的Java约定,其中命名空间与公司域相反.

  • 如果我没有自己的域名,我该怎么办? (5认同)
  • 相关文档:http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html (2认同)
  • @StephenHolt如果您的代码是开源的并且托管在公共存储库中,那么使用源代码控制存储库本身的领域就有一种流行的趋势.例如,许多流行的项目仍在使用`net.sourceforge`或`net.sf`,后跟项目名称.目前,GiHub和GitLab都在`project.gihub.io`和`project.gitlab.io`为您的项目提供静态Web托管,因此这可以是另一个探索的选项. (2认同)

Ray*_*oal 34

所有地方的维基百科都在讨论这个问题.

我们的想法是通过让作者使用他们拥有的DNS名称的变体来命名包,确保所有包名在世界范围内都是唯一的.例如,域名的所有者joda.org创建了许多名称以其开头的包org.joda,例如:

  • org.joda.time
  • org.joda.time.base
  • org.joda.time.chrono
  • org.joda.time.convert
  • org.joda.time.field
  • org.joda.time.format


Chr*_*ung 8

这是反向拼写的域名.

例如,我的一个域名是hedgee.com.所以,我com.hedgee用作所有包的基本名称.