重新编译A类~~~
把A类添加set方法~~~

解决方案 »

  1.   

    主要是在B中建立对象初始化时该如何传入参数很烦,因为A构造函数的参数是其他类,而其他类已经运行。如果A a = new A(C,D,...其他参数)时,我还必须建立C,D对象,并且能够正确调用它们。这样的话,很烦琐。
      

  2.   

    可以在A类中添加一个public的set方法.
      

  3.   

    Class c = Class.forName(String yourClassAWithPath);
    Field f = c.getDeclaredField(String yourVarInA);
    f.setAccessible(true);
    A a = new A();
    f.setInt(a, 0);//假设你的变量试int型的在B里可以这样写试一试~~~
      

  4.   

    ClassName.this.methodName 如:PreViewPane.this.setPage(w,h);我觉得这个可行。但出错。错误提示:没有足够的实例类型PreViewPane对空间易受影响
      

  5.   

    Class c = Class.forName(String yourClassAWithPath);
    Field f = c.getDeclaredField(String yourVarInA);
    f.setAccessible(true);
    A a = new A();
    f.setInt(a, 0);//假设你的变量试int型的这是改变一个既有对象定义的值的方法,用到的是java反射原理
    如下:
    Class c = Class.forName("com.test.A");
    Field f = c.getDeclaredField("i");
    f.setAccessible(true);
    A a = new A();
    f.setInt(a, 0);//假设你的变量试int型的假如你的A的对象中i字段的初始值是1,可以通过上诉方法将i的值改为0~~~
      

  6.   

    我是Dimension型的
    f该怎么调方法
      

  7.   

    那就用f.set(Object,Object);
    第一个参数是A的对象,第二个参数是值~~~