banq老师你好,关于你的单态模式
public class Singleton {
private Singleton(){}
//在自己内部定义自己一个实例,是不是很奇怪?
//注意这是private 只供内部调用
private static Singleton instance = new Singleton();
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance() {
return instance;
}
}
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
//使用时生成实例!
if (instance==null)
instance=new Singleton();
return instance; }
}
banq老师你说:“//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次。”
也就是说第一种方法每次都要生成新对象吗?好像第一个方法也不用每次生成新对象。只要类加载到内存中,以后每次都还是返回同一个对象。