这个你先别看什么代码啊什么的,先从字面上理解,单例模式顾名思义就是这个类不管怎样只能有一个实例即对象,怎么样让所有调用者拿到的都是一个对象呢?1、首先在这个类里面设计个该类类型的私有静态成员变量instance;什么作用呢?当然是让类加载的时候就在方法区里面存在的变量,随着类的消失而消失,这样调用类拿到的就始终是这一个变量;2、有个私有的构造器,为什么呢?因为不希望外界通过new constructor()的方式创建对象,这样创建出来的对象肯定不是唯一一个,因为堆地址不同;3、不让访问成员变量,还不让访问构造器,那怎么获取对象呢?当然是给外部提供公共的访问方式,然后返回那个成员变量了,那就是getInstance()方法;又因为该类不能创建对象,所以不能用对象调用该获取单例的方法,改为static的用类直接调用即可,这样就实现了单例模式;至于饥饿类型单例模式,其实就是他这个类饿啊,想吃东西,怎么办呢?就是让成员变量声明时就创建一个对象,然后getInstance直接返回就行; 懒汉模式就是:这人很懒,总是拖拖拉拉的,非得老板什么时候要成果的时候再去做这件事,所以一开始先不做创建对象的操作,等类调用的时候再通过getInstance返回对象。我的理解大致就是这样,听不明白再回复我。。 |