在泛型类型定义时,可以使用接口类型限制泛型的范围,例如:
// 定义接口
interface ExampleInterface {
// 接口方法
void doSomething();
}
// 泛型类型 T 继承 ExampleInterface
class ExampleClass {
// 泛型使用 ExampleInterface 接口类型
private T obj;
public ExampleClass(T obj) {
this.obj = obj;
}
public void execute() {
obj.doSomething();
}
}
在上面的代码中,泛型类型 T 被限制为继承自 ExampleInterface 接口,因此在 ExampleClass 中使用泛型时,泛型类型可以看作是 ExampleInterface 类型的实例,从而拥有了 ExampleInterface 接口中定义的方法。