我看到很多人为单身人员实施clone
方法,这些方法正在抛出CloneNotSupportedException
。为什么呢?
例如,如何通过克隆或任何其他方式攻击? 顺便说一句。我已阅读有效的java并了解枚举。
public final class Elvis implements Serializable {
public final static transient Elvis INSTANCE = new Elvis();
private Elvis() {
if(INSTANCE != null) {
throw new IllegalStateException("This is a singleton. Don't try to instantiate it.");
}
}
private Object readResolve() {
//serialization protection
return INSTANCE;
}
}
答案 0 :(得分:2)
否则,可以使用克隆创建单个类的多个对象。
答案 1 :(得分:0)
...抛出CloneNotSupportedException。为什么呢?
您可以查看文档here:
protected Object clone() throws CloneNotSupportedException
抛出: CloneNotSupportedException - 如果对象的类不支持Cloneable接口。覆盖clone方法的子类也可以抛出此异常,以指示无法克隆实例。