黑马程序员技术交流社区

标题: 为什么用Class字节码对象调用newInstance方法要强转 [打印本页]

作者: 煮酒拭剑赏美人    时间: 2016-9-6 17:25
标题: 为什么用Class字节码对象调用newInstance方法要强转
为什么用Class字节码对象调用newInstance()方法时要强转类型。
比如:Class<?> clazz=Class.forName(com.xxx.xxxxx);
           Object obj=(object)clazz.newInstance();我通过字节码对象的newInstance()创建实例对象,得到的是什么类型的呢?

作者: q554293427    时间: 2016-9-6 19:24
你用newInstance方法创建的实例对象是object类型的,所以需要强转。
Object obj = (object)clazz.newInstance();   里面的object只不过是泛指所有类,因为object是所有类的直接或者间接父类。
作者: 煮酒拭剑赏美人    时间: 2016-9-6 21:43
q554293427 发表于 2016-9-6 19:24
你用newInstance方法创建的实例对象是object类型的,所以需要强转。
Object obj = (object)clazz.newInsta ...

嗯,清楚了,3Q




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