面向对象通识15(单例模式)
Java概念——设计模式:对于一批经常出现的涉及场景,前人已经总结了一些较为成功的设计——这就是设计模式。后人学习并模仿,从而提高我们的代码质量。
存在意义
单例模式:在某些场景下,某些类只需要或者只能创建一个实例——
系统的窗口管理器
数据库的引擎访问点
Java程序所在的JRE运行环境
此时需要采用单例模式
创建方法
因为只能有一个实例,所以构造器不能暴露——
隐藏构造器,用户创建不了实例
暴露一个
static
方法用于创建实例(因为该方法被创建的时候不存在也无法创建对象,无法用对象进行调用,所以必须加上static
修饰符用类进行调用)创建的该方法必须保证只有一个实例
举例:public class Single {
//创建一个实例变量s
private static Single s;
//构造器隐藏
private Single(){
}
//暴露一个方法用于创建对象
public static Single use(){
if(s==null){
s=new Single();
}
return s;
}
/*
如果s为空,则创建一个(有且只有一个)实例,
如果s不为空,则直接返回该实例
*/
}
public class SingleTest {
public static void main(String[] args) {
Single s1=Single.use();
Single s2=Single.use();
System.out.println(s1==s2);
}
}
/*
true
此时证明s1和s2是同一个实例
*/