解决方案接口实现另一个接口

时间:2012-12-10 00:18:49

标签: java interface implements

我试图为游戏中的对象定义一些属性,所以我使用接口来指定它们。

我已经创建了一个Interactable界面,但后来我想创建一个Eatable界面,显然会实现Interactable,因为互动就是吃,但我可以&#这样做是因为我无法在界面中实现方法。

有解决方法吗?

public interface Interactable {
    void interact();
}

public interface Eatable implements Interactable {
    public void eat();
    public void interact() {
        // Obviously, this doesn't work
        eat();
    }
}

2 个答案:

答案 0 :(得分:1)

首先,Interfaces只能扩展另一个接口,使Eatable 抽象类并生成实现Interactable

public abstract class Eatable implements Interactable {
    public void eat();
    public void interact() {
        eat();
    }
}

答案 1 :(得分:1)

Iterfaces可以“扩展”其他接口。

在这种情况下,我会创建一个Abstract Base Class“Food”或者实现Interactable的东西,其interact()方法调用一个抽象的eat()方法。