final
修饰符的 clone()
方法。
由于 clone()
可以用于在不使用构造函数的情况下实例化对象,因此允许重写 clone()
方法可能导致对象损坏,甚至导致安全漏洞。 令 clone()
方法或封装类本身为 final
,可以防止这种情况。
示例:
class Main implements Cloneable {
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
}