zoukankan      html  css  js  c++  java
  • java—单例设计模式

    单例设计模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

    1、构造方法私有化

    2、声明一个本类对象

    3、给外部提供一个静态方法获取对象实例

    什么时候使用?

    1、通过在工具类的设计中使用;

    2、当一个类中没有属性;

    3、该类作为工具类使用非常频繁。

    两种方式:

    一、饿汉式

     1 package practice1;
     2 //单例模式
     3 public class Test7 {
     4     public static void main(String[] args) {
     5         Singleton s=Singleton.getInstance();
     6         s.method();
     7     }
     8 }
     9 class Singleton{
    10     private static Singleton singleton=new Singleton();//定义时就创建对象
    11     private Singleton(){//构造方法私有化    
    12     }
    13     public static Singleton getInstance(){//给外部提供一个全局访问点,静态方法
    14         return singleton;
    15     }
    16     public void method(){//测试方法
    17         System.out.println("method");
    18     }
    19 }

    饿汉式在类创建的同时就已经创建好一个静态的对象供系统使用,以后不再改变,所以是线程安全的。

     

    二、懒汉式

    class Singleton2{
        private static Singleton2 singleton2=null;//定义时不直接创建
        private Singleton2(){}//构造方法私有化
        public static Singleton2 getInstance(){
            if(singleton2==null){
                singleton2=new Singleton2();
            }
            return singleton2;
        }
        public void method(){//测试方法
            System.out.println("method");
        }
    }

     

  • 相关阅读:
    Linux环境进程间通信
    monitor
    用prctl给线程命名
    openfire本地环境搭建和openfire插件开发实例
    ubuntu12.04的vim配置
    SensorThread线程
    AndroidPN中的心跳检测
    openfire插件开发之完美开发
    poj3322 Bloxorz I
    设计模式总结
  • 原文地址:https://www.cnblogs.com/chenxing818/p/4678332.html
Copyright © 2011-2022 走看看