A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 疯子的昨天 中级黑马   /  2014-2-2 16:49  /  985 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

               在运用反射创建实例对象时:
例如这句话:  String str = (String) constructor.newInstance(new StringBuffer("abc"));
在这段话中为什么要加(String)这句话。
张老师好像说的是计算机在编译的时候只看左边,运行看右边。
加这句话好像就是为了让编译器识别,不报错。但是又加在右边。
那不是和上面那句话矛盾了吗? 百思不得其解啊。

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 很给力!

查看全部评分

1 个回复

正序浏览
如果不加(String)那么右边的返回值类型是Object。相当于将一个Object类型值赋给了String。这样做编译器会报错。所以得加上强制类型转换!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马