0

我想传递GameObject也将实现Collidable接口的类对象。它应该是什么样子?

private boolean isCollision(GameObject<? extends Collidable> collid) {
}

它应该是什么样子?collid必须是GameObject和的实例Collidable

4

2 回答 2

3

如果要确保它collid是 aGameObject a Collidable,可以使用以下语法:

private <T extends GameObject & Collidable> boolean isCollision(T collid)
于 2013-02-11T15:14:14.130 回答
0

GameObject定义一个扩展和的接口可能更容易Collidable。然后将您的参数声明为该类型。

public interface CollidableGameObject extends GameObject, Collidable {
}

那么你的方法可能是:

private boolean isCollision(CollidableGameObject collid) {
}

除非我遗漏了什么,否则似乎不需要泛型。如果GameObject还不是一个接口,考虑做一个吗?

于 2013-02-11T15:15:35.227 回答