public class SingletonDemo {
private SingletonDemo singletonDemo;
private SingletonDemo() {
if (singletonDemo != null) {
throw new IllegalThreadStateException("An example already exists");
}
}
public SingletonDemo getInstance() {
if (singletonDemo == null) {
singletonDemo = new SingletonDemo();
}
return singletonDemo;
}
}
防止通过AccessibleObjet.setAccessible方法,通过反射机制调用私有构造器