主要知识点:

1.将类的构造方法私有化.(private)

2.在内部产生该类的实例化对象,将其封装成private static.

3.定义一个静态方法返回该类的实例.

package checksingle;

public class SingleClass {
    //饿汉
    //私有的构造方法
    private  SingleClass() {}
    //将自身的实例化对象设置为属性,用static和final修饰
    private static final SingleClass instance =  new SingleClass();
    //静态方法返回该类的实例
    public static SingleClass getInstance(){
        return instance;
    }
}

懒汉式:synchronized,避免多线程访问

public class SingleClass2 {
    // 懒汉式,节约内存
    // 私有的构造方法防止其通过new创建对象
    private SingleClass2() {}
    // 将自身的实例化对象设置为属性,用static和final修饰
    private static SingleClass2 instance;
    // 静态方法返回该类的实例
    public static synchronized  SingleClass2 getInstance() {
        if (instance == null) {
            instance = new SingleClass2();
        }
        return instance;
    }
}

 

posted on 2017-03-16 19:21  小手撬地球  阅读(114)  评论(0编辑  收藏  举报