I think the call "super.clone()" doesn't go to the Cloneable class but to the abstract class..
public class Mainprogramm { 
  Test original = new Test();
 Test copy = original.getClone();
}
public class Test extends AbstractClass implements Cloneable{
  public Test getClone(){
  try
    {
        return (Test) super.clone();
    }
    catch(CloneNotSupportedException a)
    {   
        return this;
    }
  }
}
public class AbstractClass implements Cloneable{
  //no abstract clone-method...
}
 
     
    