某个类的实例对象中有一个,没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例。getInstance()的方法来获取它们的实例。
getInstance()的返回值是一个对象的引用,并不是一个新的实例,所以不要错误的理解成多个对象。
懒汉式写法
public class Singleton {
private static Singleton singleton;
private Singleton() {}
public static (synchronized) Singleton getInstance(){
if(singleton == null){
singleton = new Siongleton();
}
renturn singleton;
}
}
饿汉式写法
public class Singleton{
private static Singleton instance = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return instance;
}
}
网友评论