您的位置:首页 > 编程语言 > Java开发

Java中的单例模式

2018-11-05 13:04 92 查看
单例设计模式

JavaSE:工厂+代理+单例

单例设计指的是一个类只允许产生一个实例化对象。
思路:a. 对象如何产生?通过类的构造方法
b. 要想限制对象的产生?通过构造方法限制
特点:构造方法私有化,外部无法产生新的实例化对象,只能通过static方法取得实例化对象
分类:a. 饿汉式单例模式
b. 懒汉式单例模式
//饿汉式单例模式:上来就new
class Singleton{
//在类的内部提供私有的实例化对象
private static final Singleton INSTANCE = new Singleton();
//构造方法私有化,外部无法调用构造即外部不能够产生新的实例化对象
private Singleton(){ }
//外部通过get取得实例化对象
public static Singleton getInstance(){
return INSTANCE;
}
public void print(){
System.out.println("helloworld!");
}
}
public class Test{
public static void main(String[] args){
Singleton singleton = null;
singleton = Singleton.getInstance();
singleton.print();
}
}
//懒汉式单例模式:用时再new(双重加锁单例模式)
class Singleton{
private static Singleton instance;
private Singleton(){}
public static Singleton getInstance(){
if(instance == null){
//表示此时还没有实例化
instance = new Singleton();
return instance;
}
return instance;
}
public void print(){
System.out.println("哈哈哈!");
}
}
public class Test{
public static void main(String[] args) {
Singleton singleton = null;
singleton = Singleton.getInstance();
singleton.print();
}
}
阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: