# 泛型总结
# 类声明的泛型无法作用于静态方法
在类名后声明的泛型仅可用于该类的普通方法,不能作用于静态方法。示例代码如下所示:
public class GenericClass<T> {
// 静态方法必须自己声明泛型
public static <T> T staticMethod(T t) {
return t;
}
// 普通方法可以使用类声明的泛型
public T method(T t) {
return t;
}
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
这是由于类声明的泛型,必须在 new
创建对象时传入指定的类型,而类的静态方法直接使用 ClassName.staticMethod()
方式调用即可,并不需要实例化对象。
小结
- 从 Java 8 开始,接口中也允许有
static
方法。
← 泛型(generic) 泛型 →