首页 > 代码库 > java===单类设计模式之饿汉式与懒汉式
java===单类设计模式之饿汉式与懒汉式
package cn.china; public class Single { public static void main(String[]args){ // S singles=S.getInstance(); // S singless=S.getInstance(); // System.out.println(singles==singless); Test tt=Test.getInstance(); Test ttt=Test.getInstance(); tt.setNum(10); ttt.setNum(20); System.out.println(tt.getNum()); System.out.println(ttt.getNum()); } /** * 单类设计模式: * 解决的问题,就是可以保证一个类在内存中的对象唯一性 *如何确保对象唯一性呢? *1、不允许其他程序用new创建该类对象。 *2、在该类中创建一个本类实例。 *3、对外提供一个方法让其他程序可以获取该对象 *步骤: *1、私有化该类构造函数 *2、通过new在本类中创建一个本类对象 *3、定义一个共有方法,将创建的对象返回。 */ } //饿汉式 class S{ private static S single=new S(); private S(){} public static S getInstance(){ return single; } } class Test{ private int num; private static Test t=new Test(); private Test(){} public static Test getInstance(){ return t; } public void setNum(int num){ this.num=num; } public int getNum(){ return this.num; } } //懒汉式 class single2{//类加载进来没有对象,只有调用了getInstance方法时,才会创建对象。 private static single2 s=null; private single2(){} public static single2 getInstance(){ if(s==null) s=new single2(); return s; } }
java===单类设计模式之饿汉式与懒汉式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。