单例模式的使用场景是真个工程中只需要一个实例对象,该模式的要点是构造函数需要是私有的,需要提供一个public的static函数用户获取该类的对象,该静态函数需要保证每次返回的是同一个对象。
下面的例子也叫静态工厂方法,只要是通过静态方法获取对象都叫静态工厂方法。
小汽车类:
package pattern;
/**
* Created by Administrator on 2018/7/14.
*/
public class Car {
//私有的静态变量
private static Car car=new Car();
//私有的方法,保证外部无法直接生成该对象
private Car(){
}
//获取实例的工厂方法
public static Car getInstance(){
return car;
}
public void run(){
System.out.println("小汽车呜呜呜。。。");
}
}
主类:
package pattern;
/**
* Created by Administrator on 2018/7/14.
*/
public class Main {
public static void main(String argc[]){
Car car1 = Car.getInstance();
Car car2=Car.getInstance();
car1.run();
if (car1==car2){
System.out.println("car1 and car2 is the same object");
}
}
}