反射入门:
Java基础之—反射(非常重要)
大白话说Java反射:入门、使用、原理
补充:
一、反射的一些应用:
1、利用反射分析类
2、在运行时使用反射分析对象
3、使用反射编写泛型数组代码
4、调用任意方法
二、利用反射修改final属性值的注意事项
Java反射如何有效的修改final属性值详解
JAVA反射修改常量,以及其局限
总结:
对于基本类型 byte, char, short, int, long, float, double, boolean; 再加上 Literal String 类型(直接双引号字符串)的常量,Java编译器会对其进行内联优化,即编译时把该 final 的值直接放到了引用它的地方。所以在程序中出现该常量的地方,在编译阶段就替换成初始常量值,虽然后面通过反射修改了final属性值,也于事无补。
所以为了有效的利用反射修改这些类型的final值,应使用基本类型的包装类,对于字符串类型,应采用new String(“hello”)这种形式创建,而不是直接用双引号。