[英]generic interface method and implementation classes
我在Animal
interface
有此接口方法:
<T extends Animal> boolean isEqual(T pAnimal);
現在我在執行上遇到了麻煩。 我有Dog
和Cat
兩個班。 這兩個類都從Animal
extends
而來。 我想覆蓋該方法,但要具體實現:
@Override
public boolean isEqual(Dog pDog) {
// do some stuff.
return true;
}
這導致編譯錯誤
must override or implement a supertype method
我如何定義接口,以便不必在我的具體實現類中進行typecast
?
提前致謝
斯特凡
如果將type參數移動到接口級別,它將起作用:
public interface MyInterface<T extends Animal> {
boolean isEqual(T pAnimal);
}
然后
public class Dog implements MyInterface<Dog> {
@Override
boolean isEquals (Dog dog) {}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.