Uvod u programiranje Maja Čić
Korištenje klasa i objekata
"Hello World!" aplikacija je najjednostavniji Java program koji možete napisati a koji nešto radi. Zbog toga što je tako jednostavan nema potrebe za definiranjem drugih klasa osim HelloWorldApp. Ipak većina programa su složeniji i zahtijevaju pisanje više klasa i pripadajućeg koda.
"Hello World!" aplikacija koristi drugu klasu, klasu System, koja je dio API-ja danog s Java okružjem.System klasa omogućava sistemski neovisan pristup funkcijama ovisnim o sistemu.
Crveni dio koda prikazuje upotrebu varijable klase (class variable) klase System i metode instance:/** * HelloWorldApp klasa implementira aplikaciju koja * ispisuje "Hello World!" na standardni izlaz. */ public class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); // Ispisuje "Hello World!" } }
Korištenje metode ili varijable klasePogledajmo prvi dio naredbe
System.out.println("Hello World!");
Konstrukcija System.out je puno ime varijable out u klasi System. Uočite da aplikacija nikad ne stvara klasu System i da se out poziva direktno iz imena klase. To je zato što je out varijabla klase - varijabla povezana s klasom umjesto s instancom te klase. Isto tako se može metode vezati za klasu i dobiti metodu klase. Za pozivanje varijabli i metoda klase točkom se spoje ime klase i ime varijable ili metode klase.
Korištenje metode ili varijable instanceMetode i varijable koje nisu metode klase ili varijable klase se zovu metode instance ili varijable instance. Metode i varijable instance se pozivaju iz objekta.
Iako je System.out varijabla varijabla klase, odnosi se na instancu PrintStream klase (klasa koja dolazi s Java razvojnim okruženjem) koja primjenjuje standardni izlazni niz.
Kad se System klasa učita u aplikaciju stvara instancu PrintStream i pridjeljuje novi PrintStream objekt out varijabli klase. Sad, kad postoji instanca klase, može se pozvati jedna od metoda instance:System.out.println("Hello World!");
Očito je da je poziv metode i varijable primjera sličan pozivu metode i varijable klase. Udružuje se poziv objekta (out) i ime metode ili varijable primjera (println) s točkom između naziva. Java kompiler omogućava zajedničko nizanje poziva na varijable i metode klasa i instance, što na kraju izgleda kao linija u primjeru programa:
System.out.println("Hello World!");
Ova linija koda ispisuje "Hello World!" na standardnom izlaznom nizu aplikacije.
Sažetak
Metode i varijable klase vezane su uz određenu klasu. Sistem na kojem se izvršava aplikacija postavlja varijablu klase jednom za klasu, bez obzira na broj instanci te klase. Varijablama i metodama klase se pristupa preko klase. Metode i varijable instance su vezane uz određeni objekt (instancu klase). Prilikom svakog stvaranja objekta, novi objekt dobiva kopiju svih varijabli instance definiranih u toj klasi. Varijablama i metodama primjera pristupa se preko objekata.