我是一名java开发人员。如今我正在学习struts,在阅读教程时,我的脑海里充满了好奇心。
package com.something.something;
我知道这是一个非常简单的包装声明但是
package **com**.something.something;
此包名称片段通常出现在许多商业发行版中。现在我想知道它是什么意思?请澄清一下。
如果我无法澄清那就感谢和抱歉...
答案 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.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的软件包。