java包的最终变量可以通过反射进行更改吗?
包最终变量可以通过反射进行更改吗
假设我有这个:
public class Widget {
final int val = 23;
}
如果可以访问,可以通过反射更改val吗
如果是这样,是否有任何方法可以防止在不使用安全管理器的情况下发生这种情况
你可以在下面搜索框中键入要查询的问题!
包最终变量可以通过反射进行更改吗
假设我有这个:
public class Widget {
final int val = 23;
}
如果可以访问,可以通过反射更改val吗
如果是这样,是否有任何方法可以防止在不使用安全管理器的情况下发生这种情况
# 1 楼答案
试试这个
# 2 楼答案
事实证明,更改最终成员会导致反射获得的值与常规代码返回的值不同!这很可怕
# 3 楼答案
对。请尝试以下代码: