原来是这样! 在其它地方引用就可以这样: t instance = t.createT(); 对吗?
如果只为了得到实例 那么 new MyClass().MyMethod(); 和 MyClass.getInstance(); 我感觉差别不大
看<<Effective Java>>吧,好像第一个知识点就是
私有的构造方法用于单例样式的类比较常见,目的是防止其它类直接调用构造方法创建它,如系统: public class SingleObj{ //单例模式类的实例 final static SingleObj instance = new SingleObj(); private SingleObj{ } public SingleObj getInstance(){ return instance; } ... }
推荐你去www.jdon.com看看模式 Effective Java 很经典~~~~~我也刚看完不久~~ //适用于多线程下的单态 public class SingleObj{ private static SingleObj instance = new SingleObj();
private SingleObj(){} public static synchronized SingleObj getInstance(){ if(instance==null) return new SingleObj(); return instance; }
在其它地方引用就可以这样:
t instance = t.createT();
对吗?
那么
new MyClass().MyMethod();
和
MyClass.getInstance();
我感觉差别不大
public class SingleObj{
//单例模式类的实例
final static SingleObj instance = new SingleObj(); private SingleObj{
} public SingleObj getInstance(){
return instance;
}
...
}
Effective Java 很经典~~~~~我也刚看完不久~~
//适用于多线程下的单态
public class SingleObj{
private static SingleObj instance = new SingleObj();
private SingleObj(){} public static synchronized SingleObj getInstance(){
if(instance==null)
return new SingleObj();
return instance;
}
}