2
public class Motor implements Measurable {
  ...
}

public Measurable motorTemperature = new Motor();

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

4

3 回答 3

5

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

于 2012-12-08T01:57:00.237 回答
2

它是一个 Motor 对象,因为您实例化了一个实现接口 Measurable 的新 Motor() 对象

您无法实例化类型 Measurable,因为无法实例化接口。接口告诉实现该接口的对象将能够执行 x 操作

于 2012-12-08T01:56:37.507 回答
1

它是一个类 Motor 和接口 Measurable。两者都是不同意义上的类型,因为
接口和类的分离是 Java 给人一种多重继承印象的方式,尽管接口的实现只指定了契约。

于 2012-12-08T01:57:44.433 回答