簡體   English   中英

通用接口方法和實現類

[英]generic interface method and implementation classes

我在Animal interface有此接口方法:

<T extends Animal> boolean isEqual(T pAnimal);

現在我在執行上遇到了麻煩。 我有DogCat兩個班。 這兩個類都從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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM