Svaka klasa i njezine metode (funkcije u klasi) imaju definirane razine pristupa, koje ograničavaju tko ih sve smije pozvati i tko ima pristup njihovimvarijablama (u primjeru ključna riječpublic.
| Klasa | Paket | Naslijeđena klasa (isti paket) | Naslijeđena klasa (drugi paket) | Ostalo |
|---|
| public | ima pristup | ima pristup | ima pristup | ima pristup | ima pristup |
| protected | ima pristup | ima pristup | ima pristup | ima pristup | - |
| nema modifikator | ima pristup | ima pristup | ima pristup | - | - |
| private | ima pristup | - | - | - | - |
Klase zadano trebaju biti vezane za objekte (klasa definira tip objekta), i samo se putem objekta mogu pozvati varijable i metode neke klase, na primjer:
publicclassmojaKlasa{intx=5;publicstaticvoidmain(String[]args){mojaKlasamojObjekt=newmojaKlasa();System.out.println(mojaKlasa.x);//pogrešnoSystem.out.println(mojObjekt.x);//ispravno - ispisuje 5}}Ključna riječstatic ispred klase označava da se ta klasa ne treba instancirati, odn. ne treba biti vezana za objekt kako bi se pozvala:
publicstaticclassmojaKlasa{//statička klasastaticintx=5;//statička varijablapublicstaticvoidmain(String[]args){System.out.println(mojaKlasa.x);//ovo je sada u redu}}Statičke metode ne mogu pristupiti ni jednom članu klase koji također nije statičan.
Ključna riječvoid označava da funkcija na koncu izvođenja ne vraća nikakvu vrijednost onome tko ju je pozvao. Ako Java program prestaje raditi zbog greške, mora eksplicitno pozvatiSystem.exit( int ), gdje je intcijeli broj, kako bi mogao vratiti broj pogreške (obično se broj 0 uzima kao završetak bez pogreške).
Funkcija nazivamain je točka ulaska u program. Funkcija mora primati niz (polje) stringova (string je niz znakova), u slučaju da se funkcija pokreće uz dodatne argumente, oni se spremaju u niz imenaargs.
KlasaSystem deklarirapublic static polje imenaout.Out objekt je instanca klasePrintStream, koja pruža mnoge metode za ispis.