单例设计模式(懒汉式)

package yuwei.com;

/*
* 但开发一般不用懒汉式
* 设计模式(懒汉):面试
* 堆里无对象,当用到方法时才会出现对象
* Single类一进内存对象还未建立,也称对象的延时加载
*
* 解决某一类问题最有效的方法
* 单例设计模式:
* 解决一个类在内存中只存在一个对象
*
* 1 为了避免其他程序过度建立该类对象,先控制禁止其他程序该类对象
* 2 还为了让其他程序可以访问到该类对象,只能在本类里自定义一个对象
* 3 为了方便其他程序对自定义对象的访问,可以提供一些访问方式
*
* 1,将构造函数私有化
* 2,在类里创建一个本类对象
*
* 3,提供方法获取对象
*
* 对于事物的描述不变
* 当需要将该事物保证内存的唯一性时应用此方法
*
*
* */

class Single
{
    private int num;
    void setNum(int num) {
        this.num = num;
    }
    int getNum() {
        return num;
    }
    private Single() {
        //加上私有只能获取对象,不能在类外申请对象
    }
    private static Single s = null;
    public static Single getInstance() {
        if(s == null) {
            s = new Single(); 
        }
        return s;
    }
}

public class SingleDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Single ss = Single.getInstance();
        Single ss1 = Single.getInstance();
        ss.setNum(21);
        ss1.setNum(23);
        System.out.println(ss.getNum());
    }
}
/*
 *结果输出
 *23
 **/

猜你喜欢

转载自blog.csdn.net/weixin_40051278/article/details/80487657