gpt4 book ai didi

java - 如果可以通过反射绕过访问修饰符,那么访问修饰符的目的是什么?

转载 作者:搜寻专家 更新时间:2023-10-31 19:42:50 26 4
gpt4 key购买 nike

我知道在编写 Java(或大多数)代码时使用访问修饰符是一种重要的做法,但是您可以使用反射绕过这些修饰符这一事实是否有效地使它变得多余?

例如,如果我想通过将它们设置为私有(private)并提供访问器方法来保护我的对象敏感变量,有人仍然可以轻松地进入并使用反射绕过它,并可能设置不安全的值。为什么 Java 提供访问修饰符,然后提供绕过它们的工具?似乎两者都不使用会更容易。

最佳答案

访问修饰符的一个重要用途是构建代码并帮助该代码的用户有效且正确地理解和使用它。这不同于用作防篡改安全机制。因此,同时拥有访问修饰符和反射并不矛盾。代码的编写者可以使用访问修饰符表达他们的意图,而需要绕过它们的代码,无论出于何种原因,都可以在通常的风险和影响下这样做。

关于java - 如果可以通过反射绕过访问修饰符,那么访问修饰符的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57576027/

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