我目前正在为Minecraft创建一个mod。我正在尝试创建一个可以用来发射射弹实体的Item类。这将在制作个性化类之前测试实体之前。我试图在构造函数中使用一个输入,它将我的父类的任何子实体作为类型的射弹实体(AbstractEntityProjectile
)。
我用?
和T
试过这个:
public EntityGun(<? extends AbstractEntityProjectile> entity) {
/* code */
}
这样做有不同的语法吗?或者我需要以不同的方式解决这个问题吗?
要实现您想要的,将参数传递给Object类已扩展AbstractEntityProjectile抽象类的构造函数,只需使用:
public EntityGun (AbstractEntityProjectile entity) {
/* code */
}
要初始化EntityGun对象,实体的类必须已扩展AbstractEntityProjectile类。请注意,实体将具有AbstractEntityProjectile类型,因此您只能调用抽象AbstractEntityProjectile类中显式定义的方法或AbstractEntityProjectile继承的方法。要使用参数的“true”类中引入的方法,您需要将其强制转换为适当的类。