Java包命名约定

可能重复:
Java包com和org

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

包com.something.something;

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

package com .something.something;

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

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

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

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

这是反向拼写的域名。

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

来自Wikipedia关于Java包命名的文章:

通常,包名称以组织的顶级域名开头,然后是组织的域,然后是以相反顺序列出的任何子域。 然后,组织可以为其包选择特定名称。 包名称应尽可能为小写字符。

例如,如果加拿大的一个名为MySoft的组织创建了一个处理分数的包,则命名包ca.mysoft.fractions将分数包与另一个公司创建的另一个类似包区分开来。 如果名为MySoft的美国公司也创建了一个分数包,但将其命名为us.mysoft.fractions,那么这两个包中的类将在一个唯一且独立的命名空间中定义。

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

例如:com.paresh.mainpackage

公司使用其反向Internet域名来开始其软件包名称 – 例如,com.example.mypackage,用于example.com上程序员创建的名为mypackage的软件包。 我在http://download.oracle.com/javase/tutorial/java/package/namingpkgs.html上找到了这些信息。

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

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

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