Klasa Object u Javi
Klasa Object je roditeljska klasa svih klasa u Javi po defaultu. Drugim rečima, ona je najviša klasa u Javi.
Klasa Object je pogodna ako želimo da uputimo na bilo koji objekt čiji tip ne znamo. Primetimo da referentna promenljiva roditeljske klase može upućivati na objekat klase deteta, što je poznato kao upcasting.
Uzmimo primer, postoji getObject() metod koji vraća objekt ali on može biti bilo kog tipa poput Employee, Student itd., pa možemo upotrebiti referencu klase Object da uputi na taj objekat. Na primer:
Object obj=getObject(); //ne znamo koji objekat će biti vraćen od ovog metoda
Klasa Object obezbeđuje neka zajednička ponašanja za sve objekte kao što su da objekt može biti poređen, kloniran, notifikovan itd.
Metodi klase Object
Klasa Object obezbeđuje mnoge metode. Evo nekih:
Metod |
Opis |
public boolean equals(Object obj) | Poredi dati objekat sa tim objektom. |
protected Object clone() throws CloneNotSupportedException | Kreira i vraća tačnu kopiju (klon) tog objekta. |
public String toString() | Vraća string reprezentaciju tog objekta. |
public final void notify() | Budi jednu nit (thread), čeka na monitor tog objekta. |
public final void notifyAll() | Budi sve niti, čeka na monitor tog objekta. |
public final void wait(long timeout)throws InterruptedException | Uzrokuje da tekuća nit čeka određen broj milisekundi, dok druga nit notifikuje (poziva notify() ili notifyAll() metod). |
public final void wait(long timeout,int nanos)throws InterruptedException | Uzrokuje da tekuća nit čeka određen broj milisekundi i nanosekundi, dok druga nit notifikuje (poziva notify() ili notifyAll() metod). |
public final void wait()throws InterruptedException | Uzrokuje da tekuća nit čeka, dok druga nit notifikuje (poziva notify() ili notifyAll() metod). |
protected void finalize()throws Throwable | Poziva ga tzv. sakupljač smeća (garbage collector) pre nego što je objekat pokupljen. |