谢谢!

解决方案 »

  1.   

    补充说明:用的编译器是jdk1.4
      

  2.   

    你说的是cast?好像不可以的也没有这个必要呀,为什么要这样造型呢
      

  3.   

    是cast。
    刚好遇到了这样的问题,所以求解
      

  4.   

    我真的不明白什么情况会有这样的要求你说说看,估计都可以通过别的方法解决
    不过java没办法这样cast吧。因为cast并不改变对象的任何东西,只是让使用它的引用有所限制,而这些限制使用者应该是知道的。
      

  5.   

    cast不可能,cast属于编译期,而字符串的内容属于运行期。但是反射能解决部分问题。通常我们用动态类型,其classname可能各种各样,但是实际类型必然属于某个在编译期便可确定的类型(接口/抽象类),比如JDBC驱动,会因数据库而异,但是早在JDBC推出的时候,我们就知道java.sql.DriverManager里面处理的动态类型必然是个java.sql.Driver,同样,你的代码虽然不能确定其具体类型,但是其抽象类型/接口是已知的,代码里面直接cast到 (你的抽象类型/接口) obj
      

  6.   

    public static Object getInstance(String className){
       return Class.forName(className).newInstance();
    }