这句不太理解,

来源:2-1 Java 动态加载类

qq_慕沐0281811

2018-12-23 19:47

OfficeAble oa=(OfficeAble)c.newInstance();
用c类取得一个新对象oa能明白,但是oa前面的接口名和后面的强制类型转换(?)看不懂,接口还有这种操作的吗。。
写回答 关注

2回答

  • 伊万诺维奇
    2018-12-24 19:18:32
    已采纳

    这条语句的目的是要取得一个对象,但是通过反射获取到的是Object对象,需要强制转换;https://img.mukewang.com/5c20c0160001f0c104430162.jpg

    关于"接口还有这种操作的吗",不是很懂想问什么

    qq_慕沐0...

    自己解决了,这句看起来像赋值给一个officeable的实例化对象,查了下似乎表示一个实现了officeable接口的对象。

    2018-12-26 11:44:51

    共 1 条回复 >

  • qq_椭圆的南瓜_03336888
    2019-03-03 14:25:31

    查看源码会发现,c.newInstance()返回的对象是Object的,但你现在是要赋值给Integer类型的,两个类型不一致,因此编译时直接报错提示你,如果确实返回的对象就是Integer类型,可以进行强制转换(Integer)c.newInstance();

反射——Java高级开发必须懂的

反射,Java高级开发必须要懂的知识点,学好Java高级课程的基础

151465 学习 · 335 问题

查看课程

相似问题