Some Methods syntax needs to be remembered: protected Object readResolve() { return getInstance(); } protected void finalize() throws Throwable { try { close(); // close open files } finally { super.finalize (); // This is mandatory to write } } //normally it should be overridden to clean-up non-Java resources ie closing a file //in singleton classs public Object clone() throws CloneNotSupportedException { throw new CloneNotSupportedException(); } } –pleae note that this method is present in Object class not in Cloneable Interface as it is marker interface MultiThreading means: thread-safe = true. Overloading is providing multiple methods with the same name but different arguments (and potentially return type). Overriding is changing the behavior of a method in a subclass. Only objects are instantiated in the Java Runtime Environment (JRE) and held in a division of the program's memory allocation called the heap. S...