假设我有:
public class Parent<T extends Child1> {
public Parent() {
}
public static <T extends Number> void test(T t) {
}
}
Run Code Online (Sandbox Code Playgroud)
并且Child1是一个儿童班Parent.
我在这里想要理解的是T类范围和方法范围中的参数类型之间的连接.T如果它们的边界彼此完全不同,那么如何允许两个参数(类'和方法')被命名?
方法中定义的类型参数完全独立于类中定义的类型参数.实际上,您需要为静态方法定义类型参数,因为那里不能使用类级别类型参数.您不能在静态上下文中使用类级别类型参数.这超出了他们的范围.因此,如果删除该方法级别类型参数声明,则会出现编译错误.