Synopsis: | Clone method should be public |
Language: | Java |
Severity Level: | 5 |
Category: | CloneImplementation |
Description: |
The java Manual says “By convention, classes that implement this interface should override Object.clone (which is protected) with a public method.” public class Foo implements Cloneable { @Override protected Object clone() throws CloneNotSupportedException { // Violation, must be public } } public class Foo implements Cloneable { @Override protected Foo clone() { // Violation, must be public } } public class Foo implements Cloneable { @Override public Object clone() // Ok } |