Java泛型接口在接口名后用尖括号声明类型参数(如),仅可在方法参数、返回值中使用,不可用于字段(含static final)或静态方法签名。

Java中泛型接口的基本语法是在接口名后紧跟一对尖括号,里面声明一个或多个类型参数,例如 T、K、V 等。接口体中只能在方法签名(参数、返回值)里使用这些类型参数,不能用于字段定义。
基本定义格式
标准写法如下:
- [访问修饰符] interface 接口名
{ ... } - 访问修饰符通常省略(默认包级可见)或显式写 public
-
是类型参数列表,可含多个,如 或 > - 接口内不允许出现 T field; 这类泛型字段——因为接口字段隐含 public static final,而泛型类型在编译期尚未确定
方法中正确使用泛型
类型参数只能出现在方法声明位置:
- 作为参数类型:T doSomething(T input);
- 作为返回值类型:T getValue();
- 可组合使用:List
findAll(); - 不能用于静态方法的类型参数约束(静态上下文与泛型实例无关)
常见错误写法(禁止)
以下代码会编译失败:
立即学习“Java免费学习笔记(深入)”;
- T data; → 接口中不能定义泛型实例字段
- static T DEFAULT; → 静态成员无法绑定到泛型类型
- public static void print(T t) { ... } → 接口中的静态方法不能使用接口声明的类型参数


















