ash*_*999 0 java eclipse interface
在Eclipse中,为什么缺少子类上显示的接口方法,而不是父类?
假设我有一个简单的界面:
public interface ISpeaks {
String talk();
}
Run Code Online (Sandbox Code Playgroud)
然后,我在一个扩展的类上实现了这个接口:
public abstract class Cat implements ISpeaks {
// forgot to implement talk()
}
public class Tiger extends Cat {
// also didn't implement talk()
}
Run Code Online (Sandbox Code Playgroud)
Eclipse抱怨Tiger缺少方法talk()(确切错误:) The type Tiger must implement the inherited abstract method ISpeaks.talk().我希望它告诉我Cat缺少talk(),因为Cat是明确实现接口的类.不是老虎.
这绝对是一个"呃?" 对我来说,因为我在Spring/Hibernate中,每当我向DAO接口添加一个方法时,每次数据库感知的测试用例都会出现这样的错误,这是一个缺少方法的错误 - 而不是单个错误模拟我的DAO的基本测试方法.
因为Cat类是抽象的,所以您不必实现所有接口方法.
您只需要在实现的具体类上实现所有接口方法ISpeaks,例如Tiger.
这是合乎逻辑的,因为无法实例化类型的对象Cat,因此无法创建不完全实现接口的对象.
http://download.oracle.com/javase/tutorial/java/IandI/abstract.html的最后一段给出了一个类似的例子
| 归档时间: |
|
| 查看次数: |
1026 次 |
| 最近记录: |