java 单例模式设计应用举例

一:单例模式简介

单例模式,又名单态模式, Singleton。
限定某一个类在整个程序运行过程中,只能保留
一个实例对象在内存空间。
单例模式是GoF的23种设计模式(Design Pattern)中
经典的一种,属于创建型模式类型。
 
单例模式:保证一个类有且只有一个对象
采用static 来共享对象实例
采用private 构造函数,防止外界new操作
 
单例模式保证一个类在内存空间中只有一个对象
 
 

二:单例模式设计举例->Singleton例子

public class Singleton {

    private  static Singleton obj=new Singleton("abc");//确保一个类只有一个对象
    private String content;
    private Singleton(String content){
        this.content=content;
    }
    public String getContent(){
        return content;
    }
    public void setContent(String content){
        this.content=content;
    }
    public static Singleton getInstance(){//静态方法调用静态对象
        return obj;
    }

    public static void main(String[] args) {

        Singleton obj1=Singleton.getInstance();

        System.out.println(obj1.getContent());

        Singleton obj2=Singleton.getInstance();//类直接调用静态方法

        obj2.setContent("def");//obj1的content也为"def"

        System.out.println(obj1.getContent());//def

        System.out.println(obj1==obj2);//true


    }

}

输出结果:

 

注:本文参考学习了华东师范大学 陈良育教授 的mooc课程之java核心技术基础篇。

转载请注明出处。

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值