我正在玩 Java 游戏,目前正在尝试实现菜单系统。我有一个Menu
类和一个MenuBox
类,我想做的是在MenuBox
类中有一个抽象方法,我会在代码中的其他地方定义它,因为每个都MenuBox
可以有不同的效果(暂停/取消暂停游戏,打开不同的菜单,更改选项,保存游戏等...)。
到目前为止,我已经添加了一个名为 的接口Clickable
,它只有activate()
在类中定义为空的方法MenuBox
,我想在创建 Menu 对象时重新定义它。这甚至可能吗?我一直在研究,只发现了死胡同,但问题与我的不完全相同,所以我不确定这是否可能,或者我是否需要完全不同的方法。
下面是界面和 MenuBox 类:
public interface Clickable {
public abstract void activate();
}
public class MenuBox implements Clickable{
private String label;
private int x,y,width,height;
public MenuBox(String label,int x,int y,int width,int heigth){
this.label = label;
this.x = x;
this.y =y;
this.width=width;
this.height=heigth;
}
public void activate() {
//Empty method to redefine outside the class i.e. after instantiation
}
}