这很简单,我只想解释一下:
internal class B { // Base class
}
internal class D : B { // Derived class
}
在我写的其他课程中:
B b3 = new Object(); //compilation time error!
为什么???我们认为所有类都继承自“object”
答案 0 :(得分:4)
B
比Object
更专业,因此您无法将Object
实例分配给B
引用。这是因为不是每个Object
实际上都是B
- 只有相反的情况才是真的。
假设您在班级x
中有一个字段B
。当您实例化Object
时,没有为该字段保留内存,如果您可以将其分配给类型为B
的引用,则它将尝试读取或写入未分配的内存,这不是允许(或有用)。
答案 1 :(得分:2)
所有类都是object
,但并非所有对象都是{someclass}
。
以类似的方式,所有公共汽车都是车辆,但并非所有车辆都是公共汽车。