上海长宁网站建设,游戏门户网站模板,重庆学校网站建设,东营建设信息网最新招聘单例设计模式就是保证整个软件系统中#xff0c;某个类只能存在一个对象实例#xff0c;并且该类只提供一个取得该对象的方法。
单例设计模式包括两种#xff1a;饿汉式和懒汉式。 饿汉式#xff1a;
含义#xff1a;
在类加载时就创建并初始化单例对象。这种方式确保了…单例设计模式就是保证整个软件系统中某个类只能存在一个对象实例并且该类只提供一个取得该对象的方法。
单例设计模式包括两种饿汉式和懒汉式。 饿汉式
含义
在类加载时就创建并初始化单例对象。这种方式确保了多线程环境下保持单例的唯一性
对象通常是重量级对象饿汉式可能造成创建了对象但是没有使用。
步骤
构造器私有化》防止直接new类的内部创建对象向外暴露一个静态的公开方法
整体就是用static修饰一个对象然后将构造器私有化保证外界无法调用构造器然后向外暴露一个static修饰的public方法该方法能返回该目标对象所以只能在这个方法调用目标对象。
那为什么说是饿汉式原因是对象用static修饰后在编译时就以创建并初始化完毕显得很着急所以叫饿汉式。 懒汉式
含义
懒汉式是一种延迟加载的方式来创建单例对象单例对象在首次被请求时才会被实例化
步骤 构造器私有化 定义一个静态属性对象 提供一个public的static方法可以返回一个对象 懒汉式只有当用户使用时才返回该对象后面再次调用会返回上次创建的对象 从而保证了单例 不会调用构造器因为没有创建一个对象
案例
class caT {private String name;public static int n1 999;private static caT cat;//定义一个静态属性对象 默认为空private caT(String name) {System.out.println(构造器被调用);this.name name;}public static caT getInstance(){if(cat null){//如果没有创建cat对象 第二次就不为空就不会调用了cat new caT(旺财);//这里创建了caT对象会调用构造器}return cat;}}
只有调用是才进行初始化对象。