gpt4 book ai didi

java - 使用反射修改对象的结构

转载 作者:搜寻专家 更新时间:2023-11-01 02:09:34 26 4
gpt4 key购买 nike

来自 wikipedia :

reflection is the ability of a computer program to examine and modify the structure and behavior (specifically the values, meta-data, properties and functions) of an object at runtime.

谁能给我一个修改对象结构的具体例子?我知道以下示例。

Object foo = Class.forName("complete.classpath.and.Foo").newInstance();
Method m = foo.getClass().getDeclaredMethod("hello", new Class<?>[0]);
m.invoke(foo);

获取类和检查结构的其他方法。但问题是修改是如何完成的?

最佳答案

只是一个额外的提示,因为之前的答案和评论回答了有关反射(reflection)的问题。要真正改变一个类的结构,从而改变它在运行时的行为,请查看字节代码工具,在本例中是 javassist 和 asm 库。无论如何,这不是一项简单的任务。

此外,您还可以查看方面编程技术,它使您能够使用某些功能增强方法。通常用于引入日志记录,而无需依赖类中的日志记录类,也不需要在问题相关代码之间调用日志记录方法。

关于java - 使用反射修改对象的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20817033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com