请问使用反射如何修改类中方法的修饰符(方法本来是private,希望在运行时改为public)。

解决方案 »

  1.   

    又不是Ruby,哪那么容易啊。
      

  2.   

    在Java的反射里面可以通过 public void setAccessible(boolean flag) 来设置方法或者属性的可访问性你可以试试
      

  3.   

    interpb(曾曾胡,深怕情多累美人!) ( ) 信誉:100    Blog  2007-03-22 14:36:32  得分: 0  
     
     
       在Java的反射里面可以通过 public void setAccessible(boolean flag) 来设置方法或者属性的可访问性你可以试试  
     就是楼上这个兄弟说的这个方法
      

  4.   


    public class TestAccessAble { /**
     * @param args
     */
    public static void main(String[] args) throws Exception {
        MyAccess mm =  new MyAccess();
            
        Method me =  mm.getClass().getDeclaredMethod("hello");
            me.setAccessible(true);  //设置可访问
        me.invoke(mm,null);       
    }}class MyAccess { private void hello() {
    System.out.println("I am private!");
    }
    }
    写了一个测试类 自己试试 当  me.setAccessible(true);  被注释 会报错