logo

Обектен клас в Java

The Клас обект е родителският клас на всички класове в java по подразбиране. С други думи, това е най-високият клас на Java.

Класът Object е полезен, ако искате да посочите всеки обект, чийто тип не знаете. Забележете, че референтната променлива на родителския клас може да препраща към обекта на дъщерния клас, известно като upcasting.

Нека вземем пример, има метод getObject(), който връща обект, но той може да бъде от всякакъв тип като Employee, Student и т.н., можем да използваме препратка към клас Object, за да препратим този обект. Например:

 Object obj=getObject();//we don't know what object will be returned from this method 

Класът Object предоставя някои общи поведения за всички обекти, като например обектът може да бъде сравняван, обектът може да бъде клониран, обектът може да бъде уведомен и т.н.

Методи на класа на обекта

Класът Object предоставя много методи. Те са както следва:
МетодОписание
публичен финален клас getClass()връща обекта на класа Class на този обект. Класът Class може допълнително да се използва за получаване на метаданните на този клас.
public int hashCode()връща номера на хеш кода за този обект.
публичен булев е равен (Object obj)сравнява дадения обект с този обект.
protected Object clone() хвърля CloneNotSupportedExceptionсъздава и връща точното копие (клонинг) на този обект.
публичен String toString()връща низовото представяне на този обект.
публичен окончателен void notify()събужда една нишка, чакаща на монитора на този обект.
public final void notifyAll()събужда всички нишки, чакащи на монитора на този обект.
публичен окончателен празен изчакване (дълъг период на изчакване) хвърля InterruptedExceptionкара текущата нишка да изчака посочените милисекунди, докато друга нишка не уведоми (извиква метод notify() или notifyAll().
public final void wait(long timeout,int nanos) хвърля InterruptedExceptionкара текущата нишка да изчака посочените милисекунди и наносекунди, докато друга нишка не уведоми (извиква метод notify() или notifyAll().
public final void wait() хвърля InterruptedExceptionкара текущата нишка да изчака, докато друга нишка не уведоми (извиква метод notify() или notifyAll().
защитена празнина finalize()хвърля Throwableсе извиква от събирача на отпадъци, преди обектът да бъде събран.

Ще научим подробно тези методи в следващите глави.