课程
/后端开发
/Java
/反射——Java高级开发必须懂的
为什么要Foo类型转换呢 ?本来c1.newInstance()就是Foo类的对象,那么Foo foo不也是Foo的吗 都一样的类型为什么要转换呢 ?求大神解释啊@
2014-11-26
源自:反射——Java高级开发必须懂的 1-1
正在回答
我理解是这个会根据c1属于不同的类型,那么c1.newInstance()就会实例化出相应的类型,也就是说其实是无法确定的类型,加上类型转换就是告诉它要转化成相应类型,
就像Object一样,他算是很多东西的祖宗,可以代表各种东西。你写 Object f1=new Foo();同样不会报错,但是当某个东西返回的是Object格式,哪怕你知道返回来的是Foo类型,同样需要类型转换来接收它。比如
Foo f2=(Foo)new Object();这里必须加上(Foo)这个类型转化。
哦哦 第二句说的是错的啊 !感谢大神!哎,基础差就是不行啊
c1的类型是Class不是Foo
举报
反射,Java高级开发必须要懂的知识点,学好Java高级课程的基础
2 回答求解大神和老师
2 回答求解,文档注释的快捷键 是什么,我ctrl+shift+j出来的是类的文档注释,如何让注释出现在类里面的方法的上方
2 回答求解在反射中
3 回答有几个问题求解答!
6 回答为什么要Foo类型转换呢 ?本来c1.newInstance()就是Foo类的对象,那么Foo foo不也是Foo的吗 都一样的类型为什么要转换呢 ?求大神解释啊@