目的:解决一个类在内存中只存在一个对象的问题。
方法:
1、为了实现只有一个对象,就必须禁止其他程序建立对象。
2、为了让其他程序访问到类对象,在本类中定义一个对象。
3、为了使其他程序对自定义对象访问,可以对外提供访问方式。
步骤:
1、将构造函数私有化
2、创建一个本类对象。
3、提供一个方法可以获取本类对象。
/** 饿汉式 */ class Single { private static Single s=new Single(); private Single(){}; public Single getInstance() { return this.s; } } /** 懒汉式 */ class Single { private static Single s=null; private Single(){} public static Single synchronized getInstance() { if(this.s==null) { this.s=new Single(0; } return this.s; } } /** 懒汉式 */ class Single { private static Single s=null; private Single(){} public static Single getInstance() { if(this.s==null) { synchronized(Single.class) { if(s==null) { s=new Single(); } } this.s=new Single(0; } return this.s; } }