单例模式

一、什么是单例

在很多时候,我们在写程序的时候通常会写很多类,这些类被创建实例,然后调用,一般很多时候我们直接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);
    }
}

最后的运行结果如下:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值