静态内置类实现单例模式

Posted 我想回家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态内置类实现单例模式相关的知识,希望对你有一定的参考价值。

package com.wz.thread.innerStatic;
/**
 * 使用静态内置类来实现单例模式
 * @author Administrator
 *
 */
public class MyObject {
    // 内部类的方式
    private static class MyObjectHandler{
        private static MyObject myObject = new MyObject();
    }
    private MyObject() {}
    public static MyObject getInstance() {
        return MyObjectHandler.myObject;
    }

}
package com.wz.thread.innerStatic;

public class MyThread extends Thread {
    
    @Override
    public void run() {
        super.run();
        System.out.println(MyObject.getInstance().hashCode());
    }

}


 

package com.wz.thread.innerStatic;
/**
 * 输出的hascode值相同,说明是同一个对象
 * @author Administrator
 *
 */
public class Run {

    public static void main(String[] args) {
        MyThread t1 = new MyThread();
        MyThread t2 = new MyThread();
        MyThread t3 = new MyThread();
        t1.start();
        t2.start();
        t3.start();
    }
}

以上是关于静态内置类实现单例模式的主要内容,如果未能解决你的问题,请参考以下文章

php单例模式实现数据库类

静态内部类实现单例模式

java GOF23涉及模式-单例模式-静态内部类实现和枚举实现

单例模式之饿汉方式实现与静态内部类实现的区别

java 内部静态类实现单例模式

使用静态内部类实现单例设计模式