Class SuperCloneCheck

  • All Implemented Interfaces:
    Configurable, Contextualizable

    public class SuperCloneCheck
    extends AbstractSuperCheck

    Checks that an overriding clone() method invokes super.clone(). Does not check native methods, as they have no possible java defined implementation.

    Reference: Object.clone().

    To configure the check:

     <module name="SuperClone"/>


     class A {
      public Object clone() { // OK
       return super.clone();
     class B {
     private int b;
      public B clone() { // violation, does not call super.clone()
       B other = new B();
       other.b = this.b;
       return other;
     class C {
      public C clone() { // OK
       return (C) super.clone();

    Parent is

    Violation Message Keys: