package com.atguigu.java2;publicclassSingletonTest1{publicstaticvoidmain(String[] args){// Bank bank1 = new Bank();// Bank bank2 = new Bank();
Bank bank1 = Bank.getInstance();
Bank bank2 = Bank.getInstance();
System.out.println(bank1 == bank2);}}//饿汉式classBank{//1.私有化类的构造器privateBank(){}//2.内部创建类的对象//4.要求此对象也必须声明为静态的privatestatic Bank instance =newBank();//3.提供公共的静态的方法,返回类的对象publicstatic Bank getInstance(){return instance;}}
package com.atguigu.java2;/*
* 单例模式的懒汉式实现
*
*/publicclassSingletonTest2{publicstaticvoidmain(String[] args){
Order order1 = Order.getInstance();
Order order2 = Order.getInstance();
System.out.println(order1 == order2);}}classOrder{//1.私有化类的构造器privateOrder(){}//2.声明当前类对象,没有初始化//4.此对象也必须声明为static的privatestatic Order instance = null;//3.声明public、static的返回当前类对象的方法publicstatic Order getInstance(){if(instance == null){
instance =newOrder();}return instance;}}