obj不是已经是一个非空的Course类对象了吗?为什么还有Course course=(Course)obj;既然都是Course类的对象了为什么还要强转?
我也有同样的疑问,所以感觉楼上几位有点答非所问
这里的obj本来是Object类,而不是Course类。
Object类是所有Java类的祖先。每个类都使用 Object 作为超类。
Object类的变量只能用作各种值的通用持有者,要对他们进行任何专门的操作,都需要知道它们的原始类型并进行类型转换。例如:
Object obj = new MyObject();
MyObject x = (MyObject)obj;
子类不能直接指向父类对象所以必须加强转