JAVA设计模式
1.设计模式明细(后面总结具体内容)
2.单例模式
a)饿汉式单例模式
package projects11_12;
/**
* @Discription 单例设计模式
* @Author HY
* @Version V1.0
* @Data 2020年11月12日 上午10:22:36
*/
public class Singleton {
public static void main(String[] args) {
Bank bank1=Bank.getInstance();//调用类的静态方法
Bank bank2=Bank.getInstance();
System.out.println(bank1);
System.out.println(bank2);
//输出地址 projects11_12.Bank@28a418fc和projects11_12.Bank@28a418fc
}
}
class Bank{
//1.私有化类的构造器
private Bank() {
System.out.println("调用私有构造器");
}
//2.内部创建类的对象
private static Bank instance=new Bank();
//3.提供公共的方法返回类的对象
public static Bank getInstance() {
return instance;
}
}
b)懒汉式单例模式
package projects11_12;
/**
* @Discription
* @Author HY
* @Version V1.0
* @Data 2020年11月12日 上午10:40:33
*/
//懒汉式单例模式
public class SingletonTest2 {
public static void main(String[] args) {
Order o1=Order.getInstance();//调用类的静态方法
Order o2=Order.getInstance();
System.out.println(o1);
System.out.println(o2);
//输出地址值
//projects11_12.Order@28a418fc
//projects11_12.Order@28a418fc
}
}
class Order{
//1.私有化类的构造器
private Order() {
}
//2.申明当前类对象没有进行初始化
private static Order instance =null;
//3.申明返回当前类对象的方法
public static Order getInstance() {
if(instance==null) {
instance=new Order();
}
return instance;
}
}