问题描述
本来一个类中不想对外公开的都被私有化了,现在可以利用反射,去使用他们,我很是不能理解,这样会不会违背访问权限修饰符设置的初衷,会不会影响到安全
解决方案
解决方案二:
你想的问题是对的,反射确实可以访问到本来不应该访问的一些东西,但是在实践中,并没有太多影响安全的内容,至少到目前为止,都没有听说过有什么系统因为反射导致安全问题。
解决方案三:
自己写代码坑自己?
解决方案四:
你要是自己坑自己谁也拦不住!
解决方案五:
任何技术本身都是无所谓好不好,安全不安全的。。同理反射本身不存在安不安全的问题,关键在于你能不能用好反射导致问题的情况有很多,比如,通常一个类会对所有对外接口以及数据进行验证,以确保符合要求,但通常不会对其内部方法和数据做过多保护性验证判断,因为通常只要外部接口不出错,内部就不会有问题。这样是好,但是如果你乱用反射,胡乱修改这个类的内部方法和数据,那么就有可能严重影响这个类,从而可能导致一系列包括安全在内的问题。所以说反射这个东西要谨慎使用,而且不是迫不得已不要轻易使用,否则就只能后果自负了。
解决方案六:
可以设置SecurityManager
解决方案七:
一般反射只用来动态去new对象,不直接去使用类私有的属性,当然你要实现某些功能一定要使用那就是例外!就像刀子是一个工具,用的好就是工具,用不好就是凶器!
时间: 2024-09-07 13:39:11