Java 为什么methodName(类<;?扩展interfaceName>;名称)有效,而methodName(类<;interfaceName>;名称)无效;T

Java 为什么methodName(类<;?扩展interfaceName>;名称)有效,而methodName(类<;interfaceName>;名称)无效;T,java,spring,Java,Spring,我不明白为什么: HATEOASController接口: public interface HATEOASController { ResponseEntity<?> findAll(Pageable pageable); ResponseEntity<?> findById(Long id); } public class EstadoController implements HATEOASController {

我不明白为什么:

HATEOASController接口:

public interface HATEOASController {
    ResponseEntity<?> findAll(Pageable pageable);
    ResponseEntity<?> findById(Long id);
}
     public class EstadoController implements HATEOASController {
           //other methods

       @GetMapping(value={"/", ""})
       public ResponseEntity<?> findAll(Pageable pageable){
      
            Page<Estado> estados = estadoService.findAll(pageable);
            estados.forEach(i->{               //**HERE**
                                              //   \/
                HATEOASBuilder.linksBuilder(i, EstadoController.class);
                HATEOASBuilder.linksBuilderWithMap(i.getCidades());
            });
        return new ResponseEntity(estados, HttpStatus.OK);
    }
public static void linksBuilder (HATEOASBuilder estado, Class<? extends HATEOASController> ControllerClass){
//methods}
public static void linksBuilder (HATEOASBuilder estado, Class<HATEOASController> ControllerClass){
    //methods}
公共接口HATEOASController{
响应findAll(可分页);
响应findById(长id);
}
EstadoController:

public interface HATEOASController {
    ResponseEntity<?> findAll(Pageable pageable);
    ResponseEntity<?> findById(Long id);
}
     public class EstadoController implements HATEOASController {
           //other methods

       @GetMapping(value={"/", ""})
       public ResponseEntity<?> findAll(Pageable pageable){
      
            Page<Estado> estados = estadoService.findAll(pageable);
            estados.forEach(i->{               //**HERE**
                                              //   \/
                HATEOASBuilder.linksBuilder(i, EstadoController.class);
                HATEOASBuilder.linksBuilderWithMap(i.getCidades());
            });
        return new ResponseEntity(estados, HttpStatus.OK);
    }
public static void linksBuilder (HATEOASBuilder estado, Class<? extends HATEOASController> ControllerClass){
//methods}
public static void linksBuilder (HATEOASBuilder estado, Class<HATEOASController> ControllerClass){
    //methods}
public类EstadoController实现hateoascoontroller{
//其他方法
@GetMapping(值={”/“,”“})
公共响应findAll(可分页){
Page estados=estadoService.findAll(可分页);
estados.forEach(i->{/**此处**
//   \/
HATEOASBuilder.linksBuilder(i,EstadoController.class);
hateoasbuilderwithmap(i.getCidades());
});
返回新的响应状态(estados,HttpStatus.OK);
}
HATEOASBuilder:

public interface HATEOASController {
    ResponseEntity<?> findAll(Pageable pageable);
    ResponseEntity<?> findById(Long id);
}
     public class EstadoController implements HATEOASController {
           //other methods

       @GetMapping(value={"/", ""})
       public ResponseEntity<?> findAll(Pageable pageable){
      
            Page<Estado> estados = estadoService.findAll(pageable);
            estados.forEach(i->{               //**HERE**
                                              //   \/
                HATEOASBuilder.linksBuilder(i, EstadoController.class);
                HATEOASBuilder.linksBuilderWithMap(i.getCidades());
            });
        return new ResponseEntity(estados, HttpStatus.OK);
    }
public static void linksBuilder (HATEOASBuilder estado, Class<? extends HATEOASController> ControllerClass){
//methods}
public static void linksBuilder (HATEOASBuilder estado, Class<HATEOASController> ControllerClass){
    //methods}

publicstaticvoidlinksbuilder(HATEOASBuilder estado,因为
Class
不是
Class
的子类型。我不明白,确切地说,EstadoController在使用Class时不是HATEOASController的子类型