private的访问权限是私有的,外面的类是不可能访问的到的。

解决方案 »

  1.   

    Class c=Class.forName("AutoMobile");
    Method[] method =c.getDeclaredMethods();
    System.out.println(method[1].getName());//这样可以取的名称
    method[1].invoke(null,null);//执行的话就报错了
      

  2.   

    最后一句method[1].invoke(this,null);//只能执行public类,调用私有类,拭目以待
      

  3.   

    肯定不行,JAVA是一种封装的很好的语言,父类还要保持自己的私有的东西,这是一个最基本的封装的语义,若不能满足就不是一个封装好的语言,所以不行.
      

  4.   

    子类用父类 private,hoho。
    怎么发射也不行。
      

  5.   

    利用反射 java.lang.reflect.AccessibleObject.setAccessible(true), 
    任何类都可以访问另一个类的private field 或method.
      

  6.   

    呵呵。给你用那就不是private了。
      

  7.   

    先 调用 setVisible 行不行呢?
      

  8.   

    根本就是违反JAVA的封装原则,甚至可以说是与面向对象的思想相驳
      

  9.   

    再问一下通过clazz=Class.forName("IProxy");后怎么使用clazz的一些方法?比如生成实例时候怎么给他赋参数或者调用它的方法?谢谢
      

  10.   

    setAccessible(true)是可以的。但是依赖安全管理器的设置。
      

  11.   

    在父类里面加一个set方法来处理父类的private class!
      

  12.   

    两种方法:
    在父类里面再次封装private class的方法!
    或者可以在父类里生成该private class的实例,然后通过该实例操作方法。