如果我们将单例的构造函数从私有更改为受保护会发生什么?在这种情况下,我们如何防止它破裂?
单身人士:
public class SingletonObject
{
private static SingletonObject ref;
private SingletonObject () //private constructor
{
System.setSecurityManager(new SecurityManager());
}
public static synchronized SingletonObject getSingletonObject()
{
if (ref == null)
ref = new SingletonObject();
return ref;
}
public Object clone() throws CloneNotSupportedException
{
throw new CloneNotSupportedException ();
}
}
为了打破单例,以下 url 包含使用其他方式破解单例所需的信息。