it-swarm.cn

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

可能重复:
Java包com和org

我是一名Java开发人员。如今,我正在学习struts,并且在阅读教程时,我心中充满了好奇心

package com.something.something;

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

package **com**.something.something;

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

谢谢,抱歉,如果我无法澄清...

36
Nishant Kumar

这只是一个名称空间定义,以避免类名的冲突。 com.domain.package.Class是已建立的Java约定,其中名称空间反过来由公司域限定。

37
Sahil Muthoo

Wikipedia在所有地方都 实际上对此进行了讨论

这个想法是通过让作者使用他们拥有的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
34
Ray Toal

这是反向拼写的域名。

例如,我的网域之一是hedgee.com。因此,我使用com.hedgee作为我所有软件包的基本名称。

8
Chris Jester-Young
  • com =>域
  • 东西=>公司名称
  • 东西=>主包名称

例如:com.paresh.mainpackage

公司使用其反向的Internet域名来开始其程序包名称-例如,由example.com的程序员创建的名为mypackage的程序包的com.example.mypackage。我在 http://download.Oracle.com/javase/tutorial/Java/package/namingpkgs.html 上找到了此信息

2
Paresh Mayani

摘自Wikipedia上有关 Java包命名 的文章:

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

这就是 Sun-Oracle文档 所说的:

包名称以小写形式编写,以避免与类或接口的名称冲突。

公司使用其反向的Internet域名来开始其程序包名称-例如,由example.com的程序员创建的名为mypackage的程序包的com.example.mypackage。

1
Andrey Atapin