Avishkar Nikale wrote: . . .
2) equals() & hashCode() - For determining uniqueness . . .
Not uniqueness, but identity. You can have two objects which have the same state, and they can return
true from equals(). Remember to override both those method.
3) clone() - So that you can create replicas of your Class instance
or to prevent the same in some cases.
More commonly prevent. Remember you must implement the Cloneable interface, otherwise clone() won't work.
4) finalize() - to perform cleanup actions before the Class instance is garbage collected
That is rarely necessary: anybody posting questions on "beginning Java" will never need finalize().
You can study the java.lang.Object API
for detailed information.
Also, Google for Joshua Bloch's
Effective Java™; there used to be a sample chapter from the 1st edition available free of charge on the net, which describes those methods.
There are also
getClass(),
notify(),
notifyAll() and three
wait() methods which you don't usually override. In fact, I think they are
final, so you can't override them.