如果想要一个全局统一的对象,可以把这个对象设为全局变量。如果想要实现一个类只能实例化一次,那么就需要用到单例模式了。
单例模式就是将单例类的构造函数设为私有,然后通过设置一个静态方法,静态方法中对这个类是否实例化做判断,如果没有实例化过,就new一个单例类的实例,然后做为这个静态方法的返回值返回。因为构造函数私有,所以不用通过new直接实例化,一定要调用静态方法来间接实例化。而静态方法中设置判断,就可以要求每个需要实例化的请求都必须通过这个判断。
单例模式需要考虑的问题是多线程时,如何避免实例化的瞬间有多个纯程同时进行了静态方法的调用,从而实例化出多个实例。