Skip navigation

Object is, of course, the class which all other Java classes extend, made available in the magical java.lang package from which everything is silently imported.

I recently had an interview question which asked me to name all the methods in this class and I’m somewhat ashamed to say I couldn’t remember quite a few – so I’m revisiting it now.

protected  Object clone()
Creates and returns a copy of this object.
boolean equals(Object obj)
Indicates whether some other object is “equal to” this one.
protected  void finalize()
Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
Class<?> getClass()
Returns the runtime class of this Object.
int hashCode()
Returns a hash code value for the object.
void notify()
Wakes up a single thread that is waiting on this object’s monitor.
void notifyAll()
Wakes up all threads that are waiting on this object’s monitor.
String toString()
Returns a string representation of the object.
void wait()
Causes the current thread to wait until another thread invokes the notify() method or the notifyAll() method for this object.
void wait(long timeout)
Causes the current thread to wait until either another thread invokes the notify() method or the notifyAll() method for this object, or a specified amount of time has elapsed.
void wait(long timeout, int nanos)
Causes the current thread to wait until another thread invokes the notify() method or the notifyAll() method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.

The JavaDoc is a quick reminder, but I’ll explore what some of these methods mean and what their implications are over the next few days. After all, this is square one so it’s worth having a decent grasp on.

Follow

Get every new post delivered to your Inbox.