五月也不错~ 2022-10-25 23:20 采纳率: 84.2%
浏览 28

java中数据类型的强制转换

第九行这里用反射创建了一个对象在赋给父类类型的引用变量时为什么要强转加个(Base)呢?如果创建的是子类对象赋给父类引用变量不就是向上转型不是直接就可以转了吗,如果创建的是父类对象就直接赋给父类引用变量不就行了,咋看也不用加这个(base)啊,但是删掉后编译又不通过,不知道为啥,脑壳痛

img

  • 写回答

1条回答 默认 最新

  • 夜郎king 2022博客之星IT其它领域TOP 12 2022-10-26 08:21
    关注

    必须要加的,因为通过Class.forName("xxx").newInstance();这种方式创建的对象是顶级超类Object,反射容器在创建之前不知道你的目标类;如果想精确一点话,可以改一下。比如使用Base.class.newInstance()这种方式就可以不用加泛型。希望可以解决你的疑问。

    评论

报告相同问题?

问题事件

  • 创建了问题 10月25日

悬赏问题

  • ¥15 Fatal error in Process MEMORY
  • ¥15 labelme生成的json有乱码?
  • ¥30 arduino vector defined in discarded section `.text' of wiring.c.o (symbol from plugin)
  • ¥20 如何训练大模型在复杂因素组成的系统中求得最优解
  • ¥15 关于#r语言#的问题:在进行倾向性评分匹配时,使用“match it"包提示”错误于eval(family$initialize): y值必需满足0 <= y <= 1“请问在进行PSM时
  • ¥45 求17位带符号原码乘法器verilog代码
  • ¥20 PySide6扩展QLable实现Word一样的图片裁剪框
  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统