说的是单例模式吧?Singleton Design Pattern? 就是说,某个class只有一个实例,一般用下面方法实现:public class ClassName { private static ClassName instance; private ClassName(){} // private constructor prevent it from being initialized from any other class public ClassName getInstance() { if (instance == null) instance = new ClassName(); return instance; } }
单例, 即Singleton模式简而言之就是强制一个类有且只能创建一个实例, 所有的clint代码都使用相当的一个对象一般会类似下面这样写一个Singletonpublic class Singleton { private static Singleton singleton = null; private Singleton() { // do some initialization } public static Singleton getInstance() { if (singleton == null) singleton = new Singleton(); return singleton; } }public class SingletonTest { public static void main(String[] args) { Singleton s1 = Singleton.getInstance(); Singleton s2 = Singleton.getInstance(); System.out.println(s1 == s2); } }注意上面代码只适用于单线程环境下, 在多线程环境下需要使用所谓的双检锁(double checked locking)机制, 且只能正常工作于JDK5以上版本, 具体请google搜索...最后, 推荐Head first Design pattern, 一本相当不错的设计模式书籍
就是说,某个class只有一个实例,一般用下面方法实现:public class ClassName {
private static ClassName instance; private ClassName(){} // private constructor prevent it from being initialized from any other class public ClassName getInstance() {
if (instance == null)
instance = new ClassName();
return instance;
}
}
private static Singleton singleton = null; private Singleton() {
// do some initialization
} public static Singleton getInstance() {
if (singleton == null)
singleton = new Singleton();
return singleton;
}
}public class SingletonTest { public static void main(String[] args) {
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
System.out.println(s1 == s2);
}
}注意上面代码只适用于单线程环境下, 在多线程环境下需要使用所谓的双检锁(double checked locking)机制, 且只能正常工作于JDK5以上版本, 具体请google搜索...最后, 推荐Head first Design pattern, 一本相当不错的设计模式书籍