|
|
1
22
创建第三个接口i3扩展i1和i2。然后,类A和B都实现了I3,泛型方法接受I3。 这也许是唯一的办法。 |
|
|
2
9
我认为从设计的角度来看,上述答案并不好。在创建接口时,要确保调用方对象具有 责任 对于该接口中定义的某些操作。所以有两个解决方案在上面讨论,我会告诉你为什么这些解决方案在设计上不好。 1。使一个接口扩展两个接口:
上面的代码没有意义。您只需定义一个单独的接口来组合其他接口,并且在内部没有任何新的方法。你没有增加价值
2。类型转换内部方法:
这种方式也是胡说八道。为什么输入参数是
真解: 上面的解决方案在设计中还有一个问题:你 力 程序员使用一个负责两个接口的对象。如果程序员不想这样做,问题是什么?他们想为每个不同的接口使用两个不同的具体化类,以便更容易地测试、清理代码? 他们不能。 您应该在方法签名中创建两个不同的参数:
对于调用上述方法,您可以在内部放置相同的参数(如果程序员使用相同的对象)。他们也可以放置不同的物体。
希望有帮助:) |
|
|
3
2
在Java 1.5之前,IMO没有解决方案来在编译时实现这种类型的安全性。但是在运行时有一个使用“instanceof”的soultion。
|
|
|
4
2
sri 如果您有权更改A和B的签名,则是最佳答案。但是,如果您没有权限,则可以执行以下操作:
当然,现在只使用泛型。 |