我在Animal
interface
:
<T extends Animal> boolean isEqual(T pAnimal);
现在我遇到了实施问题。
我有两个课程Dog
和Cat
。来自extends
的两个类Animal
。
我想覆盖该方法,但具体实现:
@Override
public boolean isEqual(Dog pDog) {
// do some stuff.
return true;
}
这会导致编译错误
must override or implement a supertype method
我如何定义接口,以便不必在我的具体实现类中创建typecast
?
提前致谢
的Stefan
答案 0 :(得分:5)
如果将type参数移动到接口级别,它将起作用:
public interface MyInterface<T extends Animal> {
boolean isEqual(T pAnimal);
}
然后
public class Dog implements MyInterface<Dog> {
@Override
boolean isEquals (Dog dog) {}
}