使用单例类条件:当前对象的创建比较消耗资源,我们在使用这个对象时只需要有一个就可以应用。这个时候就可以将其设计成单例的模式。在一定的场景中,只有一个这样的实例,比如说银行的号码管理器等。java连接数据库,与数据库的连接会比较消耗资源。我们可以将其做成单例的, 这个时候在内存中就有一个,所有人操作的都是一个。
单例模式的步骤:
1.构造方法私有化
让外部不可以直接创建本类对象
2.在类内实例化一个本类对象 ,属性一般都会private
必须在内部得到一个本类对象。是可以让外部访问到的。但是属性一般都要私有化
3.在本类内提供一个外部可以访问的获得本类对象的static方法。
提供一个可以被外部访问的方法,这个方法构造方法私有化了,所以要做在类方法。
//饿汉式(工作中)
class Single
{
//在本类内创建一个对象.
private static Single s=new Single();
//私有构造方法
private Single(){
}
//对外提供公共的可以获得本类对象的方法.
public static Single getInstance(){
return s;
}
}
//笔试中
//延迟加载的方式(懒汉式) 不完善,讲多线程还要对其进行改进.
class Single
{
//在本类内创建一个对象.
private static Single s;
//私有构造方法
private Single(){
}
//对外提供公共的可以获得本类对象的方法.
public static Single getInstance(){
if(s==null){
s=new Single();
}
return s;
}
}