有了反射机制访问权限是不是没用了

解决方案 »

  1.   

    不能访问的Method,或Field, 要使用的话,  必需先setAccessible, 而SecurityManager是可以阻止setAccessible的;因此, 大多数情况下, 可以突破访问权限限制, 但也可以做到不允许突破访问权限限制;
      

  2.   

    楼主提了个很尖锐的问题了..java最初的设计是没有包含反射这个特性的,反射不止可以设置私有变量,也可以改变final变量,这些都是对一些现有规则的破坏,其实是不太好。
    不过很多框架在使用,特殊情况下适当的使用,可以带来意想不到的效果。当你用反射的时就破坏了java的封装了,跳出正常的语言规范。