求java大牛帮忙解答
java中,如何动态改变类的访问权限?
------解决方案-------------------- Java code
可以在你的代码里加个标志位
动态改变这个 标志, 你调用的方法前先判断这个标志就可以了
------解决方案--------------------
这是可以的,条件是通过反射来做。 比如有个org.test.A类,里面有个doit方法 private doit() { } 你通过以下代码取得这个方法, A a = new A(); Method doitMethod = a.getClass().getDeclaredMethod("doit"); doitMethod.setAccessible(true); doitMethod.invoke(a,参数); 就可以了 关键是可以通过setAccessible来修改其权限
------解决方案-------------------- 用反射就可以做到了,可以设置属性和方法的各种访问级别; 这是可以的,条件是通过反射来做。 类似于9L的代码,JDK中有说明 探讨 这是可以的,条件是通过反射来做。 比如有个org.test.A类,里面有个doit方法 private doit() { } 你通过以下代码取得这个方法, A a = new A(); Method doitMethod = a.getClass().getDeclaredMethod("doit"); doitMethod.setAccessible(true); doitMethod.invoke(a,参数); 就可以了 关键是可以通过setAccessible来修改其权限
------解决方案-------------------- 探讨 这是可以的,条件是通过反射来做。 比如有个org.test.A类,里面有个doit方法 private doit() { } 你通过以下代码取得这个方法, A a = new A(); Method doitMethod = a.getClass().getDeclaredMethod("doit"); doitMethod.setAccessible(true); doitMethod.invoke(a,参数); 就可以了 关键是可以通过setAccessible来修改其权限