单例模式的两种实现方法

单例模式的两种实现方法

饿汉式

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;    
    }
}
全部评论

相关推荐

05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
05-25 10:45
门头沟学院 Java
Frank_zhan...:没实习一个项目肯定不够,可以再做一个轮子,技术栈再补一个mq,微服务,整体再换个简历模板,暑期尽量再找一个日常实习
无实习如何秋招上岸
点赞 评论 收藏
分享
07-04 16:00
门头沟学院 Java
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务