为什么包名通常以“com”开头

时间:2011-09-14 05:36:25

标签: java package

  

可能重复:
  Java packages com and org

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

package com.something.something;

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

package **com**.something.something;

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

如果我无法澄清那就感谢和抱歉...

6 个答案:

答案 0 :(得分:34)

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

答案 1 :(得分:32)

维基百科,所有地方,actually discusses this

通过让作者使用他们拥有的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

答案 2 :(得分:7)

这是反向拼写的域名。

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

答案 3 :(得分:2)

  • com =>域名
  • something =>公司名称
  • something =>主包名称

例如:com.paresh.mainpackage

公司使用其反向互联网域名来开始其软件包名称 - 例如,com.example.mypackage用于由example.com的程序员创建的名为mypackage的软件包。 我在http://download.oracle.com/javase/tutorial/java/package/namingpkgs.html

找到的这些信息

答案 4 :(得分:2)

来自Java package naming上的维基百科文章:

通常,包名称以组织的顶级域名开头,然后是组织的域,然后是以相反顺序列出的任何子域。然后,组织可以为其包选择特定名称。尽可能包名称应全部为小写字符。
例如,如果加拿大的一个名为MySoft的组织创建了一个处理分数的包,则命名包ca.mysoft.fractions将分数包与另一个公司创建的另一个类似包区分开来。如果名为MySoft的美国公司也创建了一个分数包,但将其命名为us.mysoft.fractions,那么这两个包中的类将在一个唯一且独立的命名空间中定义。

答案 5 :(得分:1)

这是Sun-Oracle documentation所说的:

  

包名称全部用小写编写,以避免与类或接口的名称冲突。

     

公司使用其反向互联网域名来开始其软件包名称 - 例如,com.example.mypackage用于example.com的程序员创建的名为mypackage的软件包。