-2
interface Rideable {
String getGait();
}
public class Camel implements Rideable {
String getGait() { return " mph, lope"; }
}
爲什麼編譯失敗?我真的不知道爲什麼編譯錯誤?爲什麼編譯失敗? [Java]
interface Rideable {
String getGait();
}
public class Camel implements Rideable {
String getGait() { return " mph, lope"; }
}
爲什麼編譯失敗?我真的不知道爲什麼編譯錯誤?爲什麼編譯失敗? [Java]
默認情況下,接口方法的修飾符是公共的。所以當你實現它。它需要公開。添加公開你的getGait方法應該解決它
方法在界面在默認情況下公衆和抽象和數據成員默認情況下公共,靜態和最終作爲訪問標籤。在子類實現中,你沒有提到任何修飾符。所以它會有默認的訪問權限。在給出實現的同時,您不能限制(提供更少的)訪問標籤。所以你必須在實現接口的方法時提供public作爲訪問修飾符。
編譯錯誤告訴你什麼? – Reimeus
你讀過錯誤了嗎? – SLaks
默認情況下,接口方法是公共的。你正試圖用一個包私有方法來實現這個方法(這是更具限制性的)。請參閱[此圖表](http://stackoverflow.com/a/33627846/276052)以瞭解公共和私有包之間的比較。 – aioobe