java 接口和参数类型

java interfaces and parameters types

我试图用接口参数化泛型类型,Eclipse 告诉我方法 abc() 没有为类型 T 实现。当然它没有实现,因为 T 是一个接口,程序会在运行时弄清楚 T 到底是什么。所以,如果有人能帮我解决这个问题,我将不胜感激。

我有类似的东西:

interface myInterface {
    String abc();
}

class myClass<T> implements myClassInterface<T> {
    String myMethod() {
        T myType;
        return myType.abc();   // here it says that abc() is not implemented for the type T
    }
}

public class Main{
      public static void Main(String[] arg) {
         myClassInterface<myInterface> something = new myClass<myInterface>;
      }
}

如您所定义,TObject 类型。相反,您想要的是向编译器提示 T 实际上是 myInterface 的一种类型。您可以通过定义 T extends myInterface:

来做到这一点
class myClass<T> implements myClassInterface<T extends myInterface>{
       String myMethod(){
            T myType;
            return myType.abc();
       }
}