单例设计模式的作用及用途
单例类的作用:让一个类只能创建一个实例(因为频繁的创建对象,回收对象会造成系统性能下降。)。解决对象的唯一性,保证了内存中一个对象是唯一的 。
使用单例类条件:当前对象的创建比较消耗资源,我们在使用这个对象时只需要有一个就可以应用。这个时候就可以将其设计成单例的模式。在一定的场景中,只有一个这样的实例,比如说银行的号码管理器等。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; } }