栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

单例模式 Java

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

单例模式 Java

单例模式

个人简述:
单例模式分两种,分别是懒汉式和饿汉式。其中懒汉式即为当被需要时再创建对象,而饿汉式则为一开始就创建好对象,有需求是就给他。其中懒汉式需要考虑线程安全问题,但是懒汉式相比于饿汉式更加节约空间。而饿汉式由于一开始就创建好对象,消耗更多空间,但是无需考虑线程安全。

单例模式实现核心点:
实现单例模式的核心就是禁止外部类构造对象,只允许外部类使用内部已经创建好的对象。代码中我们将构造方法私有化即可!另外需要将方法和对象声明为静态的!!

为什么方法和对象都要声明为静态的?
由于我们获取单例对象必须通过类中定义的特定方法,由于我们无法通过构造函数先创建对象,因此该方法的调用我们不可能使用 对象.方法名的形式,只能通过 类名.方法名 的方式,因此获取对象的方法也必须声明为静态的。另外静态方法中是不允许访问普通成员变量的,因此对象也必须被定义为竟静态的!!!

懒汉式:

public class Singleton {  
    private static Singleton instance;  
    private Singleton (){}  
    public static synchronized Singleton getInstance() {  
    if (instance == null) {  
        instance = new Singleton();  
    }  
    return instance;  
    }  
}

饿汉式:

public class Singleton {  
    private static Singleton instance = new Singleton();  
    private Singleton (){}  
    public static Singleton getInstance() {  
    return instance;  
    }  
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/270514.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号