Java中如何破坏单例模式呢?

重生 Java经验 发布时间:2024-02-17 17:11:52 阅读数:18499 1
下文笔者讲述java中破坏单例模式的方法及示例分享,如下所示

破坏单例模式的实现思路

 我们只需使用反射的方式
     即可破坏单例模式,使其出现两个单例对象
例:破坏单例模式的示例
package com.java265.a;

public class Singleton {
    private static class SingletonHolder {
        private static final Singleton INSTANCE = new Singleton();
    }
 
    private Singleton() {
    }
 
    public static Singleton getInstance() {
        return SingletonHolder.INSTANCE;
    }
}

测试类:

package com.java265.a;
import java.lang.reflect.Constructor; 
public class Demo {
    public static void main(String[] args) {
        Class<?> singletonClass = Singleton.class;
        try {
            Constructor c = singletonClass.getDeclaredConstructor(null);
            c.setAccessible(true);
            Object singleton1 = c.newInstance();
            Object singleton2 = c.newInstance();
            System.out.println(singleton1 == singleton2);
        } catch (Throwable e) {
            e.printStackTrace();
        }
    }
}

----运行以上代码,将输出以下信息-----
false
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202402/17081611547963.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者