单例模式的两种实现方法

单例模式的两种实现方法

饿汉式

package com.atguigu.java2;
/*
 * 单例设计模式
 * 所谓类的单例设计模式,就是采取一定的方法保证
 */
public class SingletonTest1 {
    public static void main(String[] args) {
        Bank bank1 = Bank.getInstance();
        Bank bank2 = Bank.getInstance();
        System.out.println(bank1 == bank2);
    }
}
//饿汉式
class Bank{
    //1.私有化类的构造器
    private Bank() {

    }
    //2.内部创建类的对象
    private static Bank instance = new Bank();

    //3.提供公共的静态方法,返回类的对象
    public static Bank getInstance() {
        return instance;
    }

}

懒汉式

package com.atguigu.java2;
/*
 * 单例模式的懒汉式实现
 * 
 */
public class SingletonTest2 {
    public static void main(String[] args) {
        Order order1 = Order.getIntance();
        Order order2 = Order.getIntance();
        System.out.println(order1 == order2);
    }
}
class Order{
    //1.私有化类的构造器
    private Order() {

    }
    //2.声明当前类对象,没有初始化
    private static Order instance = null;
    //3.声明public、static的返回当前类对象的方法
    public static Order getIntance() {
        if ( instance == null ) {
            instance = new Order();
        }
        return instance;    
    }
}
全部评论

相关推荐

01-31 11:40
井冈山大学 Java
佛系的猫头鹰寄了:你是我见过最美的java女生
点赞 评论 收藏
分享
已经烂了:算法去制造业最少也要211,双非搞算法就是死路一条。至少我在的部门,算法工程师最低都是211毕业的,而且岗位极少。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务