码迷,mamicode.com
首页 > 其他好文 > 详细

62、单例模式

时间:2018-12-22 16:39:43      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:rgs   ring   私有化   代码   懒汉式   com   runtime   nbsp   ola   

单例模式

单例模式:程序运行时,让某个类在内存中只有一个对象,即让一个类只能创建一个对象。
一般分为懒汉式和饿汉式

饿汉式

有三步:

    • 构造方法私有化
    • 创建当前类对象
    • 对外提供公共的访问方法将SingletonHungary对象暴露给外部
package com.sutaoyu.single_test;

public class SingletonHungary {
    //1.构造方法私有化
    private SingletonHungary(){
        
    }
    
    //2.创建当前类对象
    private static SingletonHungary s = new SingletonHungary();
    
    //3.对外提供公共的访问方法将SingletonHungary对象暴露给外部
    public static SingletonHungary getInstance() {
        return s;
    }
}

懒汉式

  • 构造方法私有化
  • 创建当前类的引用
  • 对外提供公共的访问方法将SingletonHungary对象暴露给外部
package com.sutaoyu.single_test;

public class SingletonHungary {
    //1.构造方法私有化
    private SingletonHungary(){
        
    }
    
    //2.创建当前类对象
    private static SingletonHungary s = new SingletonHungary();
    
    //3.对外提供公共的访问方法将SingletonHungary对象暴露给外部
    public static SingletonHungary getInstance() {
        return s;
    }
}

单例模式的案例Runtime

java.lang包下的Runtime类使用了单例模式,使用该类可以执行windows系统里面的一些命令,例如:mspaint(打开画图软件),shutdown(关机)等等。
下面代码演示了使用Runtime类打开画图软件:

package com.sutaoyu.volatlt;

import java.io.IOException;

public class VolatileTest01 {
    public static void main(String[] args) throws IOException{
        Runtime rt = Runtime.getRuntime();
        rt.exec("mspaint");
    }
}

 

62、单例模式

标签:rgs   ring   私有化   代码   懒汉式   com   runtime   nbsp   ola   

原文地址:https://www.cnblogs.com/zhuifeng-mayi/p/10161050.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!