private安全性
把一个方法或者变量声明成private,一定安全么?求解释。
------解决方案--------------------不一定,通过发射可以访问的。
------解决方案--------------------当然不一定,安全包含的含义太多了
------解决方案--------------------反射,直接得
------解决方案--------------------支持一楼
------解决方案--------------------private 是安全的!
前面有人说用反射可以读取,那是因为没有对 Java 进行安全策略文件的限制!
------解决方案--------------------这在C++里通过破坏类的安全机制取得类地址就可以。但在java里没有指针,我想不出怎样不通过成员函数取得private成员的值的方法。请高手给个反例。
另外,楼主,访问权限是为了帮助你管理好你的模块,如果你硬要访问,都设为public也未偿不可。
规则的制定不是为了让你违反的。
------解决方案--------------------反射:
Java code
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Retention(value = RetentionPolicy.RUNTIME)
public @interface Value
{
String[] value();
}