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.