泛型类中的通用静态方法

时间:2015-04-18 04:59:37

标签: java generics

假设我有:

public class Parent<T extends Child1>  {
    public Parent() {       
    }

    public static <T extends Number> void test(T t) {
    }
}

Child1Parent的子类。

我在这里试图理解的是类范围和方法范围中参数类型T之间的连接。如果它们的边界彼此完全不同,那么如何允许这两个参数(类&#39;和方法&#39;)被命名为T

1 个答案:

答案 0 :(得分:6)

方法中定义的类型参数完全独立于类中定义的类型参数。实际上,您必须为静态方法定义类型参数,因为不能在那里使用类级别类型参数。您不能在静态上下文中使用类级别类型参数。这超出了他们的范围。因此,如果删除该方法级别类型参数声明,则会出现编译错误。