就是
有个com.test包里面的Person类
Class.forName(com.test.Person).newInstance 得到的是一个Objecj 需要强制类型转换为Person才可以调用person 的方法 。有没有办法 不强制类型转换 得到person 实例? 因为forName的参数我是不预先知道是什么的。 

解决方案 »

  1.   

    那根据传进来的值的不同 去实例化不同的对象 只能靠IF else 来做了吗?
      

  2.   

    就是说  传个1 我去实例化 person  类,传个2我去实例化student 类 
    就只能靠if(1){
                  new person()}
             else if(2){
    new student()} 
      

  3.   

    让forName中的类实现共同的接口,用接口调用之。
      

  4.   

    补充下问题  因为 我不能唯一确定参数的值 所以 Class.forName().newInstance  会实例化不同的类。
    具体的说 就是 我会根据值的不同 实例不同的bean 然后 用beanutils 给他们赋值 
    但是 只是 实例化为一个OBJECT 的话 beanutils 没办法给他们赋值
    所以。。我要能直接 得到具体类的引用 而没有强制转换的过程是因为我不知道他是什么具体的bean
      

  5.   


    你想的太多了 实际上从你根据这个获得不同的类来看 就注定你这个方法只能返回OBJECT(或者是这些类的共同的基类)