强制转换不行吗?除非得到的obj不是Base类的子类。

解决方案 »

  1.   

    对,如果转换失败,表明obj不是Base或其派生类的实例。
      

  2.   

    强制转换不行吗?除非得到的obj不是Base类的子类。
    ------------------------------------------------------
    ?
    怎么转换,请明示。
    偶的这个程序不想引用任何子类的,因为这是个比较通用的程序
      

  3.   

    即使转换成Base 类,base = (Base)obj; 也不能给子类赋值
    偶现在想把数据赋予子类,能否做到呢?
      

  4.   

    如果你的base类没有哪些方法, 你可以把子类设置字段的方法也reflect出来, 调用该方法.
      

  5.   

    getMethod(String name, Class[] parameterTypes)
    获取该类的method,然后通过method的invoke(Object obj, Object[] args) 来调用该对象的方法。
      

  6.   

    也可以直接通过构造函数得到该类的实例
            Class car = Class.forName(className);        Class param[] = {String.class};
            Constructor con = car.getDeclaredConstructor(param);
      

  7.   

    beanName是Base的子类的话,Base base = (Base)Class.forName(beanName).newInstance() ;
    不会有问题。
    执行方法用:
    Method myMethod = base.getMethod(String name, Class[] parameterTypes);
    myMethod.invoke(uClass, new Object[]{fields, str});
      

  8.   

    多谢诸位,问题已解决,见:
    http://blog.csdn.net/Gooing/archive/2005/04/16/350029.aspx