据我所知和理解,反射是在运行时创建/修改源代码的能力。
据维基百科:
维基百科说:“通过添加新代码、扩展对象和定义,或修改类型系统来扩展程序。”
现在,我的问题是: 没有eval能力的静态语言如何拥有反射(例如Java)?(新的源代码没有被评估? :/)
提前感谢您!
据维基百科:
- 以第一类对象的形式发现并修改源代码结构(例如代码块、类、方法、协议等)。
- 将与类或函数的符号名称匹配的字符串转换为对该类或函数的引用或调用。
- 评估一个字符串,就像它是在运行时的源代码语句一样。
为语言的字节码创建一个新的解释器,以赋予编程结构新的含义或目的。
维基百科说:“通过添加新代码、扩展对象和定义,或修改类型系统来扩展程序。”
现在,我的问题是: 没有eval能力的静态语言如何拥有反射(例如Java)?(新的源代码没有被评估? :/)
提前感谢您!