`

反射-运行时变更field内容

    博客分类:
  • Java
 
阅读更多
package com.reflect;

import java.lang.reflect.Field;
/**
 * @Description:     运行时变更field内容         
 */
public class RefFiled {
	public double x;
	public Double y;
	
	public static void main(String[] args) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
		Class<RefFiled> c = RefFiled.class;
		Field xf = c.getField("x");
		Field yf = c.getField("y");
		
		RefFiled obj = new RefFiled();
		System.out.println("变更前x=" + xf.get(obj));
		//变更成员x值
		xf.set(obj, 1.1);
		System.out.println("变更后x="+xf.get(obj));
		
		System.out.println("变更前y=" +yf.get(obj));
		//变更成员y值
		yf.set(obj, 2.1);
		System.out.println("变更后y=" + yf.get(obj));
		
		/**变更前x=0.0
			变更后x=1.1
			变更前y=null
			变更后y=2.1
		 */
	}

}

 

分享到:
评论

相关推荐

    Java 反射机制 代码的实例

    - API稳定性:反射操作不受编译时类型检查约束,可能因API变更导致运行时错误。 8. **反射示例**:以下代码展示了如何使用反射创建对象并调用方法: ```java public class Test { public void printMessage...

    java注解之运行时修改字段的注解值操作

    Java 注解之运行时修改字段的注解值操作 Java 注解是一种用来标注Java代码的方式,它可以在编译期、运行期对代码进行处理和修改。本文主要介绍了 Java 注解之运行时修改字段的注解值操作,具有很好的参考价值,希望...

    Java 通过反射变更String的值过程详解

    Java 反射机制是 Java 语言中的一种功能强大且灵活的机制,它允许程序在运行时Inspect和Modify自己的结构和行为。在 Java 中,String 类型变量的值修改是比较复杂的,因为 String 类型变量是不可变的。但是,通过...

    Android 通过反射调用获取内置存储和外置sd卡根路径(适用于各个版本)

    因此,当处理存储路径时,建议进行异常处理和兼容性检查,以确保在各种设备和Android版本上的正确运行。 总的来说,通过反射调用获取Android的内置存储和外部SD卡的根路径是一种应对版本差异的有效手段,但同时也...

    altera USB-Blaster使用指南

    它极大地方便了用户在设计变更时能够快速迭代,对于原型验证及多轮设计测试尤为有利。 #### 支持器件 Altera USB-Blaster 支持多种Altera FPGA(Field Programmable Gate Array,现场可编程门阵列)与CPLD...

    JAVA工程师面试常见问题及答案

    Java反射机制允许程序在运行时获取类的信息,并创建和操作对象。主要特点包括: - **Class对象**:通过类的`getClass()`方法或`Class.forName()`方法获得Class对象。 - **Field、Method和Constructor**:可以通过...

    2019-Android-最新面试题

    7. **反射机制**:理解并能使用Class类,构造函数的newInstance()方法,Method和Field类,以及动态代理。 【Android知识点】 1. **Activity生命周期**:理解Activity的启动过程,掌握各个生命周期方法,如onCreate...

    Snelly是用于Web浏览器中基于物理的SDF路径跟踪系统

    标题中的"Snelly"是一个在Web浏览器环境中实现的基于物理的SDF(Signed Distance Field)路径追踪系统。SDF是一种表示3D几何形状的方法,通过计算点到形状边界的确切距离来描述物体。路径追踪是一种先进的光线渲染...

    java中的流氓手段(1)

    这种方式更为隐蔽,因为即使原始源代码中没有public修饰符,运行时也可以访问到这些成员。 这样的操作在某些场景下可能是合理的,例如在调试、测试或者代码分析工具中。但若用于恶意目的,例如绕过安全检查、篡改...

    Altium Designer关于FPGA布线引脚交换设置的说明与示例

    在现代电子设计中,使用现场可编程门阵列(Field-Programmable Gate Array,FPGA)进行复杂电路的原型设计变得越来越普遍。FPGA以其在硬件上可编程的灵活性,可以实现各种数字逻辑功能,非常适合用于需要高定制化的...

Global site tag (gtag.js) - Google Analytics