我创建了一个Motor类,该类实现了Measurable接口。 然后,创建一个名为motorTemperature的Measurable类型的变量。
如果我...
Measurable motorTemperature = new Motor (x);
哪个是motorTemperature引用的对象? (电机或可测量类型?
答案 0 :(得分:0)
在此代码中:
Measurable motorTemperature = new Motor(x);
我们创建一个Motor类型的对象。它是一个马达,并将继续保持马达状态。
电动机实现可测量的接口。因此,我们可以将对Motor的引用分配给类型为Measurable的变量(实际上,我们这样做)。这不会改变马达是马达的事实。
但是,由于我们现在对电机的唯一参考就是可测量的,因此我们对其的唯一访问只能说是通过可测量接口可以表达的内容。我们既不能询问任何有关Motor的属性,也不能要求它执行未在Measurable中定义为方法的Motor动作。
P.S。 motorTemperature是否是可衡量的好名字是一个单独的问题。如果电动机唯一可用的测量值是温度,则可能有意义。如果我们可以调用“ motorTemperature.getRPM()”,则该名称似乎不太合适。