1
0
车辆x=新车();错误,且车辆[]x=新车();是错误的。 第二条语句很好——声明一个指向接口具体实现的iterface没有问题。最佳实践(抽象和隐藏实现)。 第三条语句是非法的-您不能声明引用基类的具体实现。为什么?您将缺少所声明类型的预期行为。。。。 第四条语句很好,与第二条语句类似,只是使用了基类实现类而不是接口。 第5条语句错误,但很容易修复: 车辆[]x={新车()}; |
2
0
你所有的课程都是“Drivable”类型 “Vechile”是“Drivable”类型,“Car”是“Vehicle”类型,因此“Car”是“Vehicle”。 “汽车”和“车辆”都是“可驾驶的”。 除了“Car x=new Vehicle();”之外,您的所有初始化都是正确的以及数组初始化,应该如下所示
|
3
0
这是错误的,因为每辆车都是车,但不是相反,即每辆车可能不是车。继承是“类型”,即汽车是车辆类型。
这里的x是数组类型,因此初始化错误。
应该是这样的
|