[英]If an class implements an interface, and is assigned to a variable with a type of that interface, what type is that object?
public class Motor implements Measurable {
...
}
public Measurable motorTemperature = new Motor();
對象motorTemperature
的類型是什么? 是電機,可衡量還是兩者兼而有之?
即使將其分配給靜態類型為Measurable
接口的變量,對象的運行時類型仍保持為Motor
。 類型定義了行為,而接口定義了可以在沒有強制轉換的情況下調用的方法。
它是一個Motor對象,因為您實例化了一個新的Motor()對象,該對象實現了可測量的接口
您無法實現可衡量的類型,因為接口無法實現。 Interface告訴實現此接口的對象將能夠執行x操作
它是一類電機和接口可衡量。 兩者都是不同意義上的類型,因為
盡管Interface的實現只指定了契約,但是接口和類的分離是給出多語言繼承印象的Java方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.