如果一个类实现了一个接口,并且被分配给一个具有该接口类型的变量,那么该对象是什么类型的?

时间:2012-12-08 01:54:08

标签: java interface

public class Motor implements Measurable {
  ...
}

public Measurable motorTemperature = new Motor();

对象motorTemperature的类型是什么?它是马达,可测量的,还是两者兼而有之?

3 个答案:

答案 0 :(得分:5)

即使将对象的运行时类型分配给静态类型为接口Motor的变量,该对象的运行时类型仍为Measurable。类型定义了行为,而接口定义了可以在没有强制转换的情况下调用的方法。

答案 1 :(得分:2)

它是一个Motor对象,因为你实现了一个新的Motor()对象,它实现了可测量的接口

您无法实现类型可衡量,因为接口无法实现。 Interface告诉实现此接口的对象将能够执行x操作

答案 2 :(得分:1)

它是一类马达和界面可衡量。两者都是不同意义上的类型,因为
尽管Interface的实现只指定了契约,但是接口和类的分离是给出多语言继承印象的Java方式。