在Eclipse中,爲什麼缺少子類中顯示的接口方法而不顯示父類?Eclipse在子類中顯示缺少接口方法,不在父類中
比方說,我有一個簡單的界面:
public interface ISpeaks {
String talk();
}
然後,我有這個接口的類來實現其擴展:
public abstract class Cat implements ISpeaks {
// forgot to implement talk()
}
public class Tiger extends Cat {
// also didn't implement talk()
}
Eclipse的抱怨虎缺少方法talk()(確切錯誤:The type Tiger must implement the inherited abstract method ISpeaks.talk()
)。我期望它告訴我,Cat缺少talk(),因爲Cat是顯式實現接口的類。不是老虎。
這絕對是「呃?」因爲我在Spring/Hibernate中,並且每當向DAO接口添加一個方法時,我都會遇到類似這樣的錯誤,因爲每個數據庫感知的測試用例都會缺少一個方法 - 而不是單個錯誤嘲笑我的DAO的基本測試方法。
最後一段給你確定你沒有標記您的Cat類爲抽象? – Guillaume 2011-03-01 14:35:07
我的確將其標記爲抽象。不過,這是一個實現接口的抽象方法。 – ashes999 2011-03-01 14:39:19
另外,在ISpeak的方法聲明中沒有理由使用'public'。接口方法自動爲「public」和「abstract」。 – 2011-03-01 14:44:20