7

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

これはある種の識別子ですか?

構造は実際に何らかの理由でコンピューターによって使用されていますか?それとも単に読者を助けるために使用されていますか?

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

4

6 に答える 6

8

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

したがって、Googleはすべてのコードをcom.google.*パッケージに保持し、Microsoftはコードをcom.microsoft.*パッケージに保持します。次に、両方の会社がSearchEngineクラスを実装している場合、名前の衝突は発生しません。

edu.mit.*教育機関も同じことをしているので、サブパッケージ内のコードはMITのグループによって開発された可能性が高いことをご存知でしょう。

于 2013-01-18T18:10:50.420 に答える
4

Java の規則では、パッケージ階層に一致するようにソース ディレクトリを配置します。ソース ファイルとクラス ファイルの管理などを参照してください。

したがって、クラスがある場合edu.mit.stk.Foo、それは次のように配置されedu/mit/stk/Foo.javaます。

于 2013-01-18T18:09:58.143 に答える
2

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

于 2013-01-18T18:10:37.303 に答える
0

慣例により、Javaパッケージ名は、逆の順序でドメイン命名規則に従います。したがってedu.mit、で開発されたパッケージの適切なプレフィックスですmit.edu

于 2013-01-18T18:10:49.170 に答える
0

パッケージの規則と一致するようにします(インターネットドメイン名を逆にしたように見えます)。

詳細については、 http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.htmlを参照してください。

于 2013-01-18T18:11:26.760 に答える
0

パッケージは、名前の競合を避けるために、逆のインターネットドメイン名を使用して名前が付けられます。したがって、ecliplseからのcalssはpackage com.eclipse.XYZClass

パッケージの命名から:

企業は、逆のインターネットドメイン名を使用してパッケージ名を開始します。たとえば、example.comのプログラマーによって作成されたmypackageという名前のパッケージの場合はcom.example.mypackageです。

正しく識別されるためには、パッケージは同じ名前のflderにある必要があります。したがって、にクラスがある場合com.madbreaks.MyClass、フォルダ構造は次のようになります。

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

参照:パッケージに関するJavaチュートリアル

于 2013-01-18T18:12:01.313 に答える