Balíčky (packages), adresářová struktura

Pro zamezení konfliktu jmen se třídy vkládají do balíčků s hierarchickými jmény, přičemž se využívá obráceně psaná internetová adresa registrovaná tvůrcem balíčku.

Soubor Edip.java v projektu Edip začíná deklarací:

package cz.cas.icpf.hroch486.selfml;
  • icpf.cas.cz je doména mého zaměstnavatele

  • hroch486 je jméno mého počítače

  • selfml je vlastní jméno balíčku

Plně kvalifikované jméno třídy (musí se shodovat se jménem souboru) je tedy cz.cas.icpf.hroch486.selfml.Edip. Hierarchické jméno má paralelu v adresářové struktuře, takže zkompilovaná třída Edip.class musí být v adresáři cz/cas/icpf/hroch486/selfml/. Umístění zdrojových souborů obvykle kopíruje stejnou adresářovou strukturu.

Není nutno definovat třídy v balíčcích, nedělá se to v malých programech, zejména pokud nejsou určeny k veřejné distribuci.