Java 泛型 : non-static type variable T cannot be referenced from a static context

标签 java generics

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)的所有成员字段都是publicstaticfinal

由于默认情况下内部接口(interface)是static,您不能从静态字段或方法中引用T

因为 T 实际上与类的实例相关联,如果它与静态字段或与类相关联的方法相关联,那么它就没有任何意义

关于Java 泛型 : non-static type variable T cannot be referenced from a static context,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10963601/

相关文章:

java - 在 xml 中存储 html 标签

java - 双重拆分一个字符串并将其添加到 JTable

Java - eclipse 错误 : the left hand side of an assignment must be a variable

java.util.PropertyPermission user.home 读取(拒绝访问)

具有类型的 Java 泛型列表类

java - 使用静态导入编译运行时参数注释时出现"Incompatible types"错误

java接口(interface)输入参数从基类扩展

PHP:动态对象名称

generics - 使用标准的 haskell 泛型库进行类型化类型同构

c# - 带有通用控件的 UserControl - 在设计器中损坏