单例模式:懒汉式
public class SingletonTest { public static void main(String[] args) { Order order1 = Order.getInstance(); Order order2 = Order.getInstance(); System.out.println(order1==order2);//true } } class Order{ //1.私有化构造器 private Order(){ } //声明变量,没有初始化,此对象也声明为static private static Order instance = null; //声明一个public、static的返回当前类对象的方法 public static synchronized Order getInstance(){ if (instance==null){ instance = new Order(); } return instance; } }
单例模式:饿汉式
public class Singleton { public static void main(String[] args) { Bank Bank1 = Bank.getInstance(); Bank Bank2 = Bank.getInstance(); } } class Bank{ //1.私有化类的构造器 private Bank() { } //内部创建类的对象 private static Bank instance = new Bank();//静态方法只能调静态结构,所以也必须为静态 //提供公共的方法 public static Bank getInstance(){ return instance; } }