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

Клас Object надає багато методів. Вони такі:
методопис
загальнодоступний кінцевий клас getClass()повертає об’єкт класу Class цього об’єкта. Клас Class можна використовувати для отримання метаданих цього класу.
public int hashCode()повертає номер хеш-коду для цього об'єкта.
публічне логічне значення дорівнює (Object obj)порівнює даний об'єкт з цим об'єктом.
protected Object clone() викидає CloneNotSupportedExceptionстворює і повертає точну копію (клон) цього об'єкта.
public String toString()повертає рядкове представлення цього об'єкта.
public final void notify()активує один потік, очікуючи на моніторі цього об'єкта.
public final void notifyAll()активує всі потоки, які очікують на моніторі цього об'єкта.
public final void wait(long timeout) генерує InterruptedExceptionзмушує поточний потік чекати вказані мілісекунди, поки інший потік не сповістить (викличе метод notify() або notifyAll().
public final void wait(long timeout,int nanos) генерує InterruptedExceptionзмушує поточний потік чекати вказані мілісекунди та наносекунди, поки інший потік не сповістить (викличе метод notify() або notifyAll().
public final void wait() генерує InterruptedExceptionзмушує поточний потік очікувати, поки інший потік не сповістить (викликає метод notify() або notifyAll().
protected void finalize() throws Throwableвикликається збирачем сміття перед тим, як об’єкт збирається.

Ми детально ознайомимося з цими методами в наступних розділах.