一、什么是单例
在很多时候,我们在写程序的时候通常会写很多类,这些类被创建实例,然后调用,一般很多时候我们直接new出一个实例,这样有一个缺点,因为有些类是可以共享的,拿在生活中的举例,比如办公室有一台打印机,打印机就是一个对象,每个人都可以共享这台打印机而没有必要每个人都买一台打印机,在程序中也是这样,很多类我们可以进行共享,如果每个人调用的时候都new一个会增加开销的成本。
如果一个类只能创建一个实例,那么这个类就是单例类,这种模式也就叫单利模式。
二、创建单利
package com.design.single;
//下面这个类就是单利类
class Printer{
//创建一个类(静态)属性
public static Printer p=null;
//创建一个静态方法
public static Printer getPrinter(){
if(p==null){//判断这个对象是否存在
p=new Printer();
}
return p;
}
//创建一个执行方法
public void print(String s){
System.out.println(s);
}
}
public class Single {
public static void main(String[] args) {
Printer p1 = Printer.getPrinter();
Printer p2 = Printer.getPrinter();
p1.print("hello world");
System.out.println(p1==p2);
}
}
最后的运行结果如下: