2013-01-18 6 views
7

私の質問は、少なくとも1つのeduという名前のフォルダと、mitという名前の別の単一のフォルダ(たとえば)と、そのすべてのコードがサブフォルダに続くディレクトリ構造を作成するのはなぜですか?Javaでedu.mit.stkのようなディレクトリ構造を作成するのはなぜですか?

これは何らかの識別子ですか?

構造は実際に何らかの理由でコンピュータで使用されていますか?それとも、読者の役に立ちますか?

もしそうなら、それは読者をどのように助けますか?

+0

http://docs.oracle.com/javase/tutorial/java/package/index。html –

+0

ここで重複した答えの洪水が... –

+0

@SteveKuo彼らはすべて良いです - 今すぐタイマーを待っています。 – sdasdadas

答えて

8

これは、名前の衝突を防ぐために行われます。既定のルールは、パッケージ構造としてドメイン名の逆を使用することです。

したがって、Microsoftはすべてのコードをcom.google.*パッケージに保存し、マイクロソフトはcom.microsoft.*パッケージにコードを保存します。両方の企業がSearchEngineクラスを実装すると、名前の衝突は発生しません。

教育機関が同じことを行うので、あなたはedu.mit.*サブパッケージ内の任意のコードがありそうなパッケージ規則と一致するMIT

4

Javaの規約では、ソースディレクトリをパッケージ階層に合わせて配置します。例えば、 Managing Source and Class Files

したがって、クラスがedu.mit.stk.Fooの場合、edu/mit/stk/Foo.javaとなります。

2

名前空間です。クラス/パッケージ名の衝突を防ぎます。通常は会社のドメイン名が逆である(例:com.ibm.PackageName)が、その値は任意であり、何でもかまいません。

0

慣習的に、Javaパッケージ名はドメイン命名規則に逆の順序で従います。したがってmit.eduで開発されたパッケージにはedu.mitが適切な接頭辞です。

0

でグループによって開発されたことを知っている(逆にインターネットドメイン名のように見えます)。

あなたは、名前の競合を避けるために、その逆のインターネットドメイン名を使用して命名されているhttp://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html

0

パッケージで詳細を見ることができます。 という名前のパッケージのために彼らの パッケージ名。たとえば、com.example.mypackageを開始するために

企業はその逆のインターネットドメイン名を使用しますので、ecliplseからcalssはpackage com.eclipse.XYZClass

Naming a packageからであってもよく、 example.comのプログラマーが作成したmypackage。

適切に識別されるためには、パッケージは同じ名前のフリンダでなければなりません。 Java tutorial on packages:あなたはcom.madbreaks.MyClassでクラスを持っているのであれば、あなたも

com 
| 
+--madbreaks 
    | 
    +---MyClass 

見るようにフォルダ構造を持つことになります。