楼主说的是单例设计模式吗?单态模式好像没听说过吧,单例模式就是类中只能创建一个实例对象,保持内存对象的唯一性。如果类中对象就一个,不在创建其他对象,可以使用单例模式。
大致步骤:1.私有化函数,防止其他类创建该类对象
2..创建私有静态本类对象(只创建一个实例对象)
3.定义一个共有的静态方法,返回该对象,对外提供访问
单例两种模式:
饿汉:类一加载是就创建实例
public Single{
private Single(){}
private static Single s=new Single();
public static Single getInstance(){
return s;
}
}
懒汉模式:延迟加载,调用该类的时候才创建对象。适用于用于多线程,但有安全问题,怎么办?同步函数比较低效,可使用同步代码块,多重判断提高效率。
public class Single
{
private Single(){}//私有构造函数,防止外部创建实例对象
private static Single s=null;//2.创建对象
public static Single getInstance(){ //3.提供方法
if(s==null){ //双重判断提高效率
synchronized(Single.class){ //静态对象锁不再是this,而是 类.class
if(s==null)
s=new Single();
}
return s;
}
}
记住一句话管用:静态优先对象存在,静态加载到内存,对象还未产生,但有类的字节码对象.class
|