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;
}
}