梅州建设公司网站,湖北省建设厅,WordPress网页自动重定向,青海省建设局网站所谓类的单例设计模式#xff0c;就是采取一定的方法保证在整个的软件系统中#xff0c;对某个类只能存在一个对象实例#xff0c;并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生一个对象#xff0c;我们首先必须将类的构造器的访问权限设…所谓类的单例设计模式就是采取一定的方法保证在整个的软件系统中对某个类只能存在一个对象实例并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生一个对象我们首先必须将类的构造器的访问权限设置为private这样就不能用new操作符在类的外部产生类的对象了但在类内部仍可以产生该类的对象。因为在类的外部开始还无法得到类的对象只能调用该类的某个静态方法以返回类内部创建的对象静态方法只能访问类中的静态成员变量所以指向类内部产生的该类对象的变量也必须定义成静态的。
1. 所谓类的单例设计模式就是采取一定的方法保证在整个的软件系统中对某个类只能存在一个对象实例。
2. 如何实现饿汉式 vs 懒汉式
3. 区分饿汉式 和 懒汉式饿汉式坏处对象加载时间过长。好处饿汉式是线程安全的懒汉式好处延迟对象的创建。目前的写法坏处线程不安全。---到多线程内容时再修改package com.wdl.day14;
public class SingletonTest1 {public static void main(String[] args) {
// Bank bank1 new Bank();
// Bank bank2 new Bank();Bank bank1 Bank.getInstance();Bank bank2 Bank.getInstance();System.out.println(bank1 bank2);}
}//饿汉式
class Bank{//1.私有化类的构造器private Bank(){}//2.内部创建类的对象//4.要求此对象也必须声明为静态的private static Bank instance new Bank();//3.提供公共的静态的方法返回类的对象public static Bank getInstance(){return instance;}
}package com.wdl.day14;
/** 单例模式的懒汉式实现**/
public class SingletonTest2 {public static void main(String[] args) {Order order1 Order.getInstance();Order order2 Order.getInstance();System.out.println(order1 order2);}
}class Order{//1.私有化类的构造器private Order(){}//2.声明当前类对象没有初始化//4.此对象也必须声明为static的private static Order instance null;//3.声明public、static的返回当前类对象的方法public static Order getInstance(){if(instance null){instance new Order();}return instance;}}