Javagenerics:无法从静态上下文引用非静态类型变量T.
interface A { 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 { interface B extends A { T foo(); } }