Naresh Chaurasia wrote:only base class objects can call the protected methods, and not super class object.
Base class and super class are the same thing for me
Anyway, finalize and clone methods are protected in Object class. finalize is protected so that you don't explicitly call finalize on instances of a class. finalize method is supposed to be called by garbage collector not us. clone is protected because objects of a class can be cloned if the class implements cloneable interface. So by making the method protected, you can't call the method on every class that you want (because calling clone method on object of a class that doesn't implement Cloneable interface generates a CloneNotSupportedException)...