黑马程序员技术交流社区

标题: 未知类名的类反射后也没办法实例化吗? [打印本页]

作者: adent    时间: 2014-7-27 02:39
标题: 未知类名的类反射后也没办法实例化吗?
本帖最后由 adent 于 2014-7-27 11:05 编辑

Class c=String.class;
但是不可以
c s=(c)c.newInstance();
那么对于存在文件里的类和对象(程序未知类名),怎么实例化啊?

作者: fantacyleo    时间: 2014-7-27 03:12
  1. Class cls = Class.forName("String");
  2. Constructor constructor = cls.getConstructor(String.class);
  3. Object obj = constructor.newInstance("hello");
  4. System.out.println(cls.getMethod("charAt", int.class).invoke(obj, 1));
复制代码

            
作者: adent    时间: 2014-7-27 08:07
fantacyleo 发表于 2014-7-27 03:12

Object类的话原来的函数也用不了。
作者: fantacyleo    时间: 2014-7-27 10:20
adent 发表于 2014-7-27 08:07
Object类的话原来的函数也用不了。

我不是用了charAt么?
作者: a6511631    时间: 2014-7-27 10:41
这个类名不是已经知道了吗?就是String。你的这句话“对于存在文件里的类和对象(程序未知类名)”,能描述的详细点吗?举个例子你看怎么样




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2