共有三个 Java 1.6 接口(interface),它们相互继承:
interface First<T extends First<T>> {
T me();
}
interface Second<T extends Second<T>> extends First<T> {
}
interface Third<T extends Third<T>> extends Second<T> {
void foo();
}
现在我期待这个能起作用,但没有:
// somewhere later
public void bar(Third t) {
t.me().foo();
}
编译器表示 t.me()
的类型为 Second
。我做错了什么?
最佳答案
试试这个:
public <T extends Third<T>> void bar(Third<T> t) {
t.me().foo();
}
关于java - 如何使接口(interface)中的返回类型通用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5693476/