interface A<T> {
interface B {
// Results in non-static type variable T cannot
// be referenced from a static context
T foo();
}
}
反正有这个吗?为什么从 AB 引用时 T 被视为静态?
接口的所有成员字段默认为public
,static
和final
。
由于默认情况下是内部接口static
,因此您不能T
从静态字段或方法中引用。
因为T
实际上与类的实例相关联,所以如果它与与类相关联的静态字段或方法相关联,那么它就没有任何意义
这样的事情怎么样。
public interface A<T> {
interface B<T> extends A<T>{
T foo();
}
}
您的内部界面不知道 T 是什么。试试这个。
interface A<T> {
interface B<T> {
T foo();
}
}