我想传递GameObject
类的对象,它也会实现Collidable
接口。应该怎么样?
private boolean isCollision(GameObject<? extends Collidable> collid) {
}
应该怎么样? collid
必须是GameObject
和Collidable
的实例。
答案 0 :(得分:3)
如果您想确保collid
是GameObject
和 a Collidable
,您可以使用以下语法:
private <T extends GameObject & Collidable> boolean isCollision(T collid)
答案 1 :(得分:0)
定义扩展GameObject
和Collidable
的界面可能更容易。然后将您的参数声明为该类型。
public interface CollidableGameObject extends GameObject, Collidable {
}
然后你的方法可能是:
private boolean isCollision(CollidableGameObject collid) {
}
除非我遗漏了某些东西,否则似乎不需要仿制药。如果GameObject
还不是接口,请考虑将其设为一个接口吗?