可能性のある複製:
Javaパッケージcomおよびorg
私はJava開発者です。現在、私は支柱を学んでいます。
package com.something.something;
私はそれが非常に単純なパッケージ宣言であることを知っていますが、どうですか
package **com**.something.something;
このパッケージ名の断片は、多くの商用ディストリビューションにしばしば含まれています。今、私はそれが何を意味するのか知りたいですか?それを明確にしてください。
わかりませんでした。ありがとうございます。
クラス名の衝突を避けるための単なる名前空間定義です。 com.domain.package.Class
は確立されたJava規約であり、名前空間は企業ドメインで逆に修飾されます。
すべての場所のウィキペディア 実際にこれについて議論します 。
アイデアは、作成者が所有する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
それは逆に綴られたドメイン名です。
たとえば、私のドメインの1つは、hedgee.comです。したがって、com.hedgee
をすべてのパッケージのベース名として使用します。
例:com.paresh.mainpackage
企業は、逆インターネットドメイン名を使用してパッケージ名を開始します。たとえば、example.comのプログラマーが作成したmypackageという名前のパッケージのcom.example.mypackageなどです。この情報は http://download.Oracle.com/javase/tutorial/Java/package/namingpkgs.html で見つけました。
Javaパッケージの命名 に関するウィキペディアの記事から:
一般に、パッケージ名は組織の最上位ドメイン名で始まり、組織のドメイン、サブドメインの順に逆順にリストされます。組織は、パッケージの特定の名前を選択できます。パッケージ名は、可能な限りすべて小文字にする必要があります。
たとえば、カナダのMySoftという組織が分数を処理するパッケージを作成する場合、パッケージにca.mysoft.fractionsという名前を付けると、分数パッケージと別の会社が作成した同様のパッケージが区別されます。 MySoftという名前の米国企業もフラクションパッケージを作成し、us.mysoft.fractionsという名前を付けた場合、これらの2つのパッケージのクラスは一意の別個のネームスペースで定義されます。
これが Sun-Oracleドキュメント の意味です:
パッケージ名は、クラスまたはインターフェースの名前との競合を避けるために、すべて小文字で記述されています。
企業は、逆インターネットドメイン名を使用してパッケージ名を開始します。たとえば、example.comのプログラマーが作成したmypackageという名前のパッケージのcom.example.mypackageなどです。