黑马程序员技术交流社区
标题:
强转小问题
[打印本页]
作者:
葛奎
时间:
2012-11-22 13:14
标题:
强转小问题
本帖最后由 葛奎 于 2012-12-1 09:23 编辑
Class c = String.class;
// String s = (String) c.newInstance();
为什么上面的代码需要强转,而下面的代码不需要。
// String s1 = String.class.newInstance();
作者:
徐大鹏
时间:
2012-11-22 15:39
同求。。
作者:
徐大鹏
时间:
2012-11-22 16:03
看看资料就明白了,还是我告诉你吧!
String s1 = String.class.newInstance();直接拿到的是字节码 不要强转
上面的的是对象,不确定是什么类型,所以要强转
作者:
张硕
时间:
2012-11-23 00:25
上面的两句话是向下转型,向下转型必须要进行强制转换的,而且向下转换的前提是向上转型,也就是第一句,而你下面那句=号右面那个就是本类的一个对象,所以不存在转型的问题,没有向上转型自然也就没有向下转型的问题
作者:
张硕
时间:
2012-11-23 00:26
上面的两句话是向下转型,向下转型必须要进行强制转换的,而且向下转换的前提是向上转型,也就是第一句,而你下面那句=号右面那个就是本类的一个对象,所以不存在转型的问题,没有向上转型自然也就没有向下转型的问题
作者:
徐-星星
时间:
2012-11-23 02:15
徐大鹏 发表于 2012-11-22 16:03
看看资料就明白了,还是我告诉你吧!
String s1 = String.class.newInstance();直接拿到的是字节码 不要强 ...
感觉你的回答比较靠谱,支持一下,呵呵。。:D
作者:
tfy
时间:
2012-12-1 00:49
String是一个父类
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2