title: Java: super.clone() method and inheritance
body: <p>I have a quick question regarding the <code>clone()</code> method in Java, used as <code>super.clone()</code> in regard to inheritance - where I call the <code>clone()</code> method in the parent class all the way up from the button.</p>
  
  <p>The <code>clone()</code> method is supposed to return a copy of this object, however if I have three classes in an inheritance heirachy and call <code>super.clone()</code> three times, why doesn't the highest class in the inheritance heirachy, just under class Object, get a copy of that class returned?</p>
  
  <p>Suppose we have three classes: A, B and C, where A -> B -> C (inherit = ->)</p>
  
  <p>Then calling <code>super.clone()</code> in class C, invokes <code>clone()</code> in B which calls <code>super.clone()</code>, invoke <code>clone()</code> in A which call <code>super.clone()</code> 'this time Object.clone() gets called'. Why is it not a copy of the <code>this</code> object with respect to class A that gets returned from <code>Object.clone()</code>? That sounds logical to me.</p>