obj不是已经是一个非空的Course类对象了吗?为什么还有Course course=(Course)obj;既然都是​Course类的对象了为什么还要强转?

来源:6-1 学生选课---判断 List 中课程是否存在

慕莱坞6097146

2016-07-12 23:19

obj不是已经是一个非空的Course类对象了吗?为什么还有Course course=(Course)obj;既然都是Course类的对象了为什么还要强转?

写回答 关注

3回答

  • 慕哥3677073
    2017-10-28 19:19:24

    我也有同样的疑问,所以感觉楼上几位有点答非所问

  • 乌眠
    2016-07-16 18:05:02

    这里的obj本来是Object类,而不是Course类。

    Object类是所有Java类的祖先。每个类都使用 Object 作为超类

    Object类的变量只能用作各种值的通用持有者,要对他们进行任何专门的操作,都需要知道它们的原始类型并进行类型转换。例如:

    Object obj = new MyObject();

    MyObject x = (MyObject)obj;


  • 小荨3408782
    2016-07-12 23:44:30

    子类不能直接指向父类对象所以必须加强转


Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题