我正在浏览commons-chain的代码
我发现了很多类似于这个的方法签名:
public <CMD extends Command<K, V, C>> CMD getCommand(String commandID)
此签名与以下内容有何不同:
public Command getCommand(String commandID)
我能理解的唯一合乎逻辑的原因是进行类型检查。但我仍然无法从设计的角度弄清楚这样做的原因。
还有其他一些原因可以说明为什么要在 java 方法的返回类型中 使用和扩展?