1. 使用情况
有时候我们希望一个类只创建一个实例,如系统属性,文件存储,计算程序的路径等等。
2. 例子
代码一:
class Singleton {
private static Singleton singleton = new Singleton();
private Singleton() {
System.out.println("已产生对象实例。");
}
public static Singleton getInstance() {
return singleton;
}
}
代码二:
public class Main {
public static void main(String[] args) {
System.out.println("Start.");
Singleton obj1 = Singleton.getInstance();
Singleton obj2 = Singleton.getInstance();
if (obj1 == obj2) {
System.out.println("obj1和obj2是同一对象");
}
else{
System.out.println("obj1和obj2不是同一对象");
}
System.out.println("End.");
}
}