首页 > 其他 > 详细

《黑马程序员》 单例模式巩固

时间:2014-03-29 17:34:34      阅读:408      评论:0      收藏:0      [点我收藏+]
------- android培训java培训、期待与您交流! ----------
public class SingleInstanceDemo {
	/**
	 * 单例模式巩固:
	 *   饥汉/饿汉式:
	 *       对象默认的时候是没有被创建好的。只有第一次调用的时候才会创建
	 *       然后返回。如果下次调用的时候,这个对象是存在的,就直接返回
	 *       
	 *   饱汉式:
	 *       对象已经创建好,在返回实例的方法中直接返回
	 *       不管是否有人调用对象都是已经创建好的。
	 */
	public static void main(String[] args) {
		//静态的方法里面只能静态的成员变量
		//静态的方法可以不用创建对象就直接调用。
		
		//测试饱汉式
		MyTest mt1=MyTest.getInstance();
		System.out.println(mt1.getClass().getName());
		/**
		 * cn.itcast.thread.SingleInstanceDemo$MyTest
		 */
		
		// 测试饥汉式
		MyTest3 mt3=MyTest3.getInstance();
		System.out.println(mt3.getClass().getName());
		/**
		 * cn.itcast.thread.MyTest3
		 */
	}
	
	//如果方法是静态的,类是内部类,类一定要使用static修饰
	static class MyTest{
		private MyTest(){}  //私有化构造方法
		//别人不能创建对象我们可以自己创建一个然后使用公共的方法返回创建的对象的实例
		//即自己创建一个对象实例,使用提供的公共的方法别别人可以获取到这个实例
		public  static MyTest getInstance(){  //这个方法是静态的
			return instance;   //静态方法只能调用静态的成员变量
		}
		//使用饱汉式
		private  static MyTest instance=new MyTest();  //创建对象实例
		//不管对象被不被人调用对象都是存在的
	}
}

 class MyTest3{  //static只能修饰内部类
	private MyTest3(){}
	public  static MyTest3 getInstance(){
		if(instance==null){
			instance=new MyTest3();  //只在第一次时候创建
		}
		return instance;  //然后返回
	}
	private  static MyTest3 instance=null;  //默认的时候为空
}

《黑马程序员》 单例模式巩固,布布扣,bubuko.com

《黑马程序员》 单例模式巩固

原文:http://blog.csdn.net/zhizguoz/article/details/22503803

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!