Java 泛型:不能从静态上下文中引用非静态类型变量 T
interface A<T> {
interface B {
// Results in non-static type variable T cannot
// be referenced from a static context
T foo();
}
}
这到底是不是圆的?为什么从 A.B 引用 T 时被视为静态?
interface A<T> {
interface B {
// Results in non-static type variable T cannot
// be referenced from a static context
T foo();
}
}
这到底是不是圆的?为什么从 A.B 引用 T 时被视为静态?
默认情况下,接口的所有成员字段都是 和 。public
static
final
由于内部接口是默认的,因此不能从静态字段或方法引用。static
T
因为 实际上与类的实例相关联,如果它与与类关联的静态字段或方法相关联,那么它就没有任何意义T
像这样的东西怎么样。
public interface A<T> {
interface B<T> extends A<T>{
T foo();
}
}