为什么包名称经常以“com”开头?

发布于 2024-12-04 14:27:30 字数 454 浏览 1 评论 0原文

可能的重复:
Java 包 com 和 org

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

package com.something.something;

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

package **com**.something.something;

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

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

Possible Duplicate:
Java packages com and org

I am a java developer. Nowadays I am learning struts and when reading a tutorial a curiosity intruded in my mind regarding

package com.something.something;

I know it is a very simple package declaration but what about

package **com**.something.something;

This package name fragment often comes in many commercial distributions. Now I want to know what does it mean? Please clarify it.

Thanks and sorry if I couldn't clarify it...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

客…行舟 2024-12-11 14:27:30

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

It's just a namespace definition to avoid collision of class names. The com.domain.package.Class is an established Java convention wherein the namespace is qualified with the company domain in reverse.

2024-12-11 14:27:30

维基百科,在所有地方,实际上讨论了这个

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

Wikipedia, of all places, actually discusses this.

The idea is to make sure all package names are unique world-wide, by having authors use a variant of a DNS name they own to name the package. For example, the owners of the domain name joda.org created a number of packages whose names begin with org.joda, for example:

  • org.joda.time
  • org.joda.time.base
  • org.joda.time.chrono
  • org.joda.time.convert
  • org.joda.time.field
  • org.joda.time.format
谎言 2024-12-11 14:27:30

这是反向拼写的域名。

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

It's the domain name spelt out in reverse.

For example, one of my domains is hedgee.com. So, I use com.hedgee as the base name of all my packages.

偏爱自由 2024-12-11 14:27:30

来自维基百科关于Java包命名的文章:

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

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

From the Wikipedia article on Java package naming:

In general, a package name begins with the top level domain name of the organization and then the organization's domain and then any subdomains, listed in reverse order. The organization can then choose a specific name for its package. Package names should be all lowercase characters whenever possible.

For example, if an organization in Canada called MySoft creates a package to deal with fractions, naming the package ca.mysoft.fractions distinguishes the fractions package from another similar package created by another company. If a US company named MySoft also creates a fractions package, but names it us.mysoft.fractions, then the classes in these two packages are defined in a unique and separate namespace.

若有似无的小暗淡 2024-12-11 14:27:30
  • com=>域
  • 某事=>公司名称
  • 某事=>主包名称

例如:com.paresh.mainpackage

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

  • com => domain
  • something => company name
  • something => Main package name

For example: com.paresh.mainpackage

Companies use their reversed Internet domain name to begin their package names—for example, com.example.mypackage for a package named mypackage created by a programmer at example.com.
This information i have found at http://download.oracle.com/javase/tutorial/java/package/namingpkgs.html

坦然微笑 2024-12-11 14:27:30

Sun-Oracle 文档是这样说的:

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

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

This is what Sun-Oracle documentation says:

Package names are written in all lower case to avoid conflict with the names of classes or interfaces.

Companies use their reversed Internet domain name to begin their package names—for example, com.example.mypackage for a package named mypackage created by a programmer at example.com.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文