此处为单例模式代码实现的一种方式,还有其他几种实现方式……
package com.sun.test9;
public class TestSingleton {
public static void main(String[] args) {
Singleton st1 = Singleton.getSingleton();
Singleton st2 = Singleton.getSingleton();
System.out.println(st1 == st2);
}
}
class Singleton {
private static Singleton singleton = new Singleton();
private Singleton() {
}
public static Singleton getSingleton() {
return singleton;
}
}
几点说明
1、构造方法私有,这样外部就不可以通过NEW的方式来实例化对象了,所以外部智能通过类名+静态方法的方式来获取了,因为getSingleton 声明为静态方法。
2、在静态方法中返回已经实例化的对象,所以该对象也应该声明为静态的!