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

age*_*154 2 java interface

public class Motor implements Measurable {
  ...
}

public Measurable motorTemperature = new Motor();
Run Code Online (Sandbox Code Playgroud)

对象的类型是motorTemperature什么?是电机,可衡量还是两者兼而有之?

das*_*ght 5

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