在Java的泛型中,<? extends 接口> 表示接受该接口或其子接口类型的泛型参数。
比如: private Class<? extends TransportServer> clazz;(TransportServer是一个接口)
在代码示例中,private Class<? extends TransportServer> clazz 表示一个泛型类型的 Class 对象,该泛型类型是 TransportServer 接口或其子接口的实现类。这意味着 clazz 可以引用 TransportServer 接口的实现类,或者是继承自 TransportServer 接口的子接口的实现类。
使用 <? extends 接口名> 作为泛型类型的上界可以实现更大的灵活性。在这种情况下,你可以传递 TransportServer 接口的任何实现类,或者是继承自 TransportServer 接口的子接口的实现类给 clazz 变量。这样做可以确保在使用 clazz 变量时可以调用 TransportServer 接口中定义的方法,同时还可以利用具体实现类的特定功能。