Java com。*包名称空间
通常看到com。* package命名空间。 “com”是什么意思? 谢谢。
包的命名约定在JLS中指定。 这里是相关的代码片段(这个部分还有很多):
JLS 7.7独特的软件包名称
您首先拥有(或属于具有)互联网域名的组织(如
sun.com),形成一个唯一的软件包名称。 然后,按组件逐个反转此名称,以在此示例中获取com.sun,并使用此名称作为软件包名称的前缀,并使用组织内开发的约定来进一步pipe理软件包名称。
Sun的代码约定文件的命名规则部分也给出了这个规定:
软件包 :唯一软件包名称的前缀总是以全小写ASCII字母书写,并且应该是顶级域名之一,目前是
com,edu,gov,mil,net,org,或者是其中一个英文双字节名称1981年ISO 3166标准中规定的识别国家的字母代码。包名称的后续组件根据组织自己的内部命名约定而有所不同。 这样的约定可能会指定某些目录名称组件是分区,部门,项目,机器或login名称。
例子 :
com.sun.eng,com.apple.quicktime.v2,edu.cmu.cs.bovik.cheese
 所以com. 包名中的前缀表示与域名中的.com后缀相同:“commercial”。 
当创buildJava时,Sunbuild立了一个约定,即包装名称应该以创build包的公司或个人的反向域名开始。 由于DNS保证域名是唯一的(例如只提供给一个组织或个人),这样可以避免重复。
 所以微软的Java软件包的名称以com.microsoft开头,Sun的是com.sun等等。 
 除了标准库之外,Java包通常以与供应商域相反的顺序命名,例如,Microsoft使用com.microsoft ,Apache可使用org.apache等(请参阅此链接了解Java中命名约定的详细信息)。是为了防止命名冲突。 所以com只是域名的一部分,对Java没有特别的意义。 
没有要求您以这种方式命名您的软件包,对于任何可能远程结束在您的组织之外使用的软件包,这只是一个非常好的主意。
com来源于商业 。 像组织一样来源于组织 。
包表示一个包含相关的类和接口组的目录。 包是两种types。 1.内置包装。 2.用户定义包。 注意。 一个包可以包含子包。 例如。 java.awt(这里的awt是一个包); java.awt.event(这里的event是一个以java.awt表示的子包)
 如果你之前没有这样做 – 下载一些Java应用程序的源代码(例如jEdit ),并查看源代码中的文件结构。 它可能会澄清一切可能。 在jEdit中有几个不同的包,所以你会看到如何一切正常。 
 顺便说一句 – 如果你从来没有读过任何人的代码 – 去做,尽快! 即使你不了解所有东西或只是一小部分 – 这是一个很好的编程习惯!