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老师你说:“//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次。”
也就是说第一种方法每次都要生成新对象吗?好像第一个方法也不用每次生成新对象。只要类加载到内存中,以后每次都还是返回同一个对象。

是的,这里语义有些误解。更正,谢谢

呵呵。。banq老师客气了。。