为了账号安全,请及时绑定邮箱和手机立即绑定

求解释,菜鸟求大神解释

为什么要Foo类型转换呢 ?本来c1.newInstance()就是Foo类的对象,那么Foo foo不也是Foo的吗 都一样的类型为什么要转换呢 ?求大神解释啊@

正在回答

3 回答

我理解是这个会根据c1属于不同的类型,那么c1.newInstance()就会实例化出相应的类型,也就是说其实是无法确定的类型,加上类型转换就是告诉它要转化成相应类型,

就像Object一样,他算是很多东西的祖宗,可以代表各种东西。你写 Object f1=new Foo();同样不会报错,但是当某个东西返回的是Object格式,哪怕你知道返回来的是Foo类型,同样需要类型转换来接收它。比如

Foo f2=(Foo)new Object();这里必须加上(Foo)这个类型转化。

0 回复 有任何疑惑可以回复我~

哦哦 第二句说的是错的啊 !感谢大神!哎,基础差就是不行啊

0 回复 有任何疑惑可以回复我~

c1的类型是Class不是Foo

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求解释,菜鸟求大神解释

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信