克隆方法声纳问题

时间:2018-02-15 10:19:17

标签: java

如果我们从Clonable实施一个类,则会生成声纳问题。

SonarQube为两者产生问题

1)如果不存在clone方法,则表示实现clone方法 2)如果我们使用返回super.clone()实现clone方法,那么它说say使用继承的方法。

请建议

1 个答案:

答案 0 :(得分:0)

重写一个方法只是为了从超类中调用相同的方法而不执行任何其他操作是无用的和误导性的。

唯一合理的时间是最终重写方法,其效果是锁定父类行为。此规则忽略了equals,hashCode和toString等的覆盖。

因此,您应该为覆盖方法提供适当的实现。

如果是克隆,您可以通过两种方式实现clone()方法

1-深层复制

2-浅拷贝

请参阅Shallow vs. Deep Copy in Java