将接口扩展到另一个接口

时间:2012-07-03 14:13:48

标签: java interface

假设我在这里有2个接口,MoveableWalkable(对不好的例子感到抱歉,但如果您有更好的发布,请将其发布)

interface Runnable{
    void run();
}

interface Walkable extends Runnable {
    void walk();
}

public class Human implements Walkable {

}

接口WalkableRunnable的子类,当Human类实现Walkable接口时Human类应为{void walk()提供实现1}}来自界面Walkablevoid run()来自界面Runnable?接口Walkable是否从接口run()继承抽象方法Runnable

7 个答案:

答案 0 :(得分:7)

是的,你的Human类需要同时实现walk()和run()方法。

答案 1 :(得分:2)

should the human class provide implementations for void walk from the interface walkable and void run() from the interface runnable?

是的,当您的Walkable接口扩展Runnable时,如果run类正在实现Human类,则它还继承了Walkable方法,它必须实现两者否则它应该是abstract

实现Interface是一个契约,其中实现类必须实现Interface中声明的所有方法。

does the interface Walkable inherit the abstract method run() from the interface Runnable?

是的,这是OOPS Inheritance概念。

答案 2 :(得分:1)

  

当Human类实现Walkable接口时,人类应该从可运行接口的walkable和void run()接口提供void walk的实现吗?

是。您可以通过尝试编译代码来轻松地发现这一点。编译器会抱怨,因为类run中没有walkHuman方法的实现。

  

接口walkable是否继承了runnable接口的抽象方法run()?

答案 3 :(得分:1)

Walkable是Runnable,因此必须定义run()函数。

答案 4 :(得分:0)

是的,你的人应该walkrun

哪个意味着颠倒事物没有?如果你跑步,你肯定可以走路。但是受伤的人可以不跑步走路......

答案 5 :(得分:0)

是的,接口可以扩展多个接口,实现类应该实现实现接口继承的所有方法。

对你的问题是肯定的,你必须实现两种方法

答案 6 :(得分:0)

Human类需要实现这两种方法,否则 - 必须将其声明为abstract。是的,Walkable接口从Runnable接口继承run()方法。

您可以详细了解接口和继承here