2013-01-18 8 views
7

Moje pytanie brzmi: dlaczego ludzie tworzą struktury katalogów z co najmniej jednym folderem o nazwie edu, a następnie kolejny pojedynczy folder o nazwie mit (na przykład), a następnie cały ich kod w podfolderze?Dlaczego ludzie tworzą struktury katalogów, takie jak edu.mit.stk w Javie?

Czy to jakiś identyfikator?

Czy struktura faktycznie używana jest przez komputer z dowolnego powodu - czy też służy tylko do pomocy czytelnikowi?

Jeśli tak, jak to pomaga czytelnikowi?

+0

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

+0

Nadchodzi powódź duplikatów odpowiedzi ... –

+0

@SteveKuo Wszystkie są dobre - tylko czekają teraz na zegar. – sdasdadas

Odpowiedz

8

Dokonano tego, aby zapobiec kolizjom nazw. Domyślną regułą jest użycie odwrotności nazwy domeny jako struktury paczki, aby zachować cały swój kod w pakietach com.google.*, podczas gdy Microsoft zachowałby swój kod w pakietach com.microsoft.*. Następnie, jeśli obie firmy implementują klasę SearchEngine, nie będzie kolizji nazw.

instytucje edukacyjne zrobić to samo, więc wiesz, że każdy kod w edu.mit.* podpakiecie został prawdopodobnie opracowany przez grupę w MIT

4

Konwencja Java polega na uporządkowaniu katalogów źródłowych zgodnie z hierarchią pakietów. Zobacz np. Managing Source and Class Files.

Tak więc, jeśli masz klasę edu.mit.stk.Foo, zostanie ona oznaczona jako edu/mit/stk/Foo.java.

2

To przestrzeń nazw. Zapobiega kolizjom nazw klas i pakietów. Zazwyczaj jest to nazwa domeny firmy odwróconej (np. com.ibm.PackageName), ale jej wartość jest dowolna i może być dowolna.

0

Zgodnie z konwencją nazwy pakietów Java są zgodne z konwencją nazewnictwa domen w odwrotnej kolejności. Tak więc edu.mit jest odpowiednim prefiksem dla pakietu opracowanego pod numerem mit.edu.

0

pakiety są nazywane przy użyciu ich nazw domen internetowych odwrócone, aby uniknąć konfliktów nazw. Więc calss z ecliplse może być w package com.eclipse.XYZClass

Od Naming a package:

Firmy wykorzystują ich odwrócony domenę internetową, aby rozpocząć swoją nazwy-pakietu przykład com.example.mypackage dla pakietu o nazwie mypackage stworzony przez programistę z example.com.

Aby zostać zidentyfikowanym poprawnie, paczka powinna znajdować się w opakowaniu o tej samej nazwie. Więc jeśli masz klasę w com.madbreaks.MyClass, będziesz miał strukturę folderów jak

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

Patrz także: Java tutorial on packages.

Powiązane problemy