qq_慕沐0281811
2018-12-23 19:47
OfficeAble oa=(OfficeAble)c.newInstance(); 用c类取得一个新对象oa能明白,但是oa前面的接口名和后面的强制类型转换(?)看不懂,接口还有这种操作的吗。。
这条语句的目的是要取得一个对象,但是通过反射获取到的是Object对象,需要强制转换;
关于"接口还有这种操作的吗",不是很懂想问什么
查看源码会发现,c.newInstance()返回的对象是Object的,但你现在是要赋值给Integer类型的,两个类型不一致,因此编译时直接报错提示你,如果确实返回的对象就是Integer类型,可以进行强制转换(Integer)c.newInstance();
反射——Java高级开发必须懂的
151465 学习 · 335 问题
相似问题