gpt4 book ai didi

java - 包最终变量可以通过反射改变吗?

转载 作者:行者123 更新时间:2023-11-29 07:47:55 24 4
gpt4 key购买 nike

包的最终变量可以通过反射改变吗?

假设我有这个:

public class Widget {
final int val = 23;
}

如果可以访问,是否可以通过反射更改 val?

如果是这样,有没有办法在不使用安全管理器的情况下阻止它?

最佳答案

是的。试试这个代码:

public static void main(String[] args) throws Exception {
Widget w = new Widget ();

Field m = Widget.class.getDeclaredField("val");

m.setAccessible(true);

m.set(w, 233);

System.out.println(m.get(w)); /// PRINT 233
}

关于java - 包最终变量可以通过反射改变吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23894354/

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