Java单例模式能否通过反射改变静态属性对象
来源:互联网 发布:java 开发支付流程 编辑:程序博客网 时间:2024/06/07 08:40
1.在反射中改变静态量时:
set(null, values);
下面为一个简单的一个单例
public class Moth { private static Moth abc=new Moth(); private Moth(){ System.out.println("哈哈"); } public static Moth getA(){ if (abc==null){ return null; } return abc; }}
然后通过反射对私有静态对象进行改变
测试类如下
public class test { public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException { Class<?> aClass = Moth.class; Field a = aClass.getDeclaredField("abc"); a.setAccessible(true); a.set(null, null); System.out.println(a.get(aClass)); System.out.println(); }}
结果显示
哈哈null
Process finished with exit code 0
通过实践可以得知反射是可以改变静态私有属性的;
小生查阅大神知识所做,此作不保留权利;
感谢观看;
阅读全文
0 0
- Java单例模式能否通过反射改变静态属性对象
- java-反射(1)-通过反射改变对象的属性
- 静态属性 单例模式
- 通过java反射机制,获取单例模式中的方法
- java通过反射设置对象私有属性
- java通过反射+注解获取两个对象改变的内容
- 单例模式 静态内部类 解决反射得到多个对象
- Java中通过反射获得对象的属性信息
- Java中通过反射获得对象的属性信息
- Java通过反射机制动态设置对象属性值
- java中通过对象,javabean配置文件,反射属性值
- java通过反射给对象设置属性【工具包系列】
- Java通过反射获取和设置对象的属性值
- 通过java反射机制操作对象的属性方法
- java反射技术破坏单例模式
- java反射技术-----破坏单例模式
- java反射破坏单例模式
- 单例模式与静态函数能否保证并行访问数据的安全。
- A+B problem(64bit Integer + EOF)
- maven编译项目时出错(2)
- gulp 搭建项目
- Java 数字千位分隔符
- java.util.ConcurrentModificationException at java.util.ArrayList$ArrayListIterator.next(ArrayList.
- Java单例模式能否通过反射改变静态属性对象
- Kotlin学习(一)基础语法
- Android中Dalvik和Art的认识和区别
- LeetCode | 2. Add Two Numbers
- MYSQL数据库(八)- 修改数据表添加约束
- kindeditor引入Java程序遇到的问题
- 量亿数据告诉你量化交易的魅力
- 理解RESTful架构
- Execution failed for task ':app:tinkerPatchRelease'