实现两个接口所需的泛型

马塞尔

我有几个界面,例如

interface CanFly{ .. }
interface CanRun{ .. }

和许多实现(由他人完成)

class Dog implements CanFly{ .. }
class Duck implements CanFly, CanRun{ .. }

现在在某个时候,我需要使用一个泛型,它需要实现两个接口的类型。

 class FlyAndRunHandler <ANIMAL extends CanFly AND CanRun>{
    void performAction(ANIMAL animal){
       animal.fly();
       animal.run();
    }
 }

在Scala中,它看起来像ANIMAL extends CanFly with CanRun有没有一种方法可以用Java将其存档。如果需要,我可以编写其他接口,但是无法将它们添加到动物类中。

Pavneet_Singh

你可以用Multiple Bounds<T extends CanFly & CanRun>

注意:日后如果您要添加一个类,请CanFly & CanRun确保将其放在开头,<T extends className & CanFly & CanRun>否则会引发异常

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章