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 | се извиква от събирача на отпадъци, преди обектът да бъде събран. |
Ще научим подробно тези методи в следващите глави.