【发布时间】:2018-07-30 08:23:02
【问题描述】:
我定义了如下接口和类
public interface Storeable {
public static String getId() {
return "id";
}
}
public class ABC implements Storeable{
public static String getId() {
return "id2";
}
}
此外,我定义了以下方法,其中我收到错误消息“方法 getId() 未定义类型 T”:
public static <T extends Storeable> T getItem(String id) {
Class<T> classOfT;
T.getId();
....
}
为什么这不起作用? Eclipse Quick-Fix 只是在界面中创建了一个更进一步的静态方法
【问题讨论】:
-
您不能在通用上下文中使用静态方法。在您的示例上下文中,泛型的全部意义在于使用多态性,而静态和多态性不能一起使用。