我了解到 Java 不允许在接口中使用实例字段,但我真的想要这个功能。
我正在学习创建我的第一个游戏。我的游戏有不同类型的演员,例如Hero
(由玩家控制)Boss
、、、Canon
等...
无论它们是哪种类型,我都希望每个参与者都从基类继承,该基类Model
将一些字段传递给它的子类,例如position
,width
并且height
每个子类都Model
可以与MVC 模式中的Controller
和关联。Renderer
public class Model {
//position
public float x;
public float y;
public float width;
public float height;
}
顺便说一句,我的意图是Hero
并且Boss
是可以死亡的实体,所以我希望它们Life
是强制具有的实例,例如,public float hitPoint;
作为一个字段,相比之下,aCannon
不是 a Life
,因为它将是一个不朽的实体。因此我尝试了:
public interface Life {
public float hitPoint;
}
并期望一个实例
public class Hero extends Model implements Life {...}
本质上将具有hitPoint
. 但是后来我了解到接口中的实例字段在 Java 中是不允许的,并且它也不支持多重继承。
是否有可能在 Java 中实现上述设计。