假设我们在java
中有一个如下所示的接口public interface AnInterface
{
public void aMethod();
}
和一个课程如下:
public class AClass
{
public void aMethod()
{
//bla bla bla
}
}
现在我要定义另一个类,例如Subclass,它扩展了AClass并实现了AnInterface,如:
public class Subclass extends AClass implements AnInterface
{
public void aMethod()
{
//do something
}
}
aMethod()在子类中的作用是什么?它是否在AnInterface中实现了该方法?或者它是否覆盖了AClass中的方法?
为了使aMethod()实现AnInterface的方法,我该怎么办? 同样,如果我希望它覆盖AClass中的方法,我该怎么办呢?
答案 0 :(得分:1)
您可能已经注意到,界面方法没有任何正文。这只是意味着,实现此接口的类必须实现这些方法,这里public Display() {
this.setSize(WIDTH, HEIGHT);
this.setFocusable(true);
this.requestFocusInWindow(true); // ***** add this line here ***
state = new StateMachine(this);
state.setState((byte) 0);
}
。您的班级aMethod()
扩展了SubClass
并从中继承了AClass
方法。现在,在aMethod()
中实施aMethod
只会覆盖SubClass
的方法,同时遵守接口规则。因此,有效的方法将是AClass
中的方法。
简短地回答你的问题:
子类中的SubClass
当前都从aMethod()
实现方法,并从AnInterface
覆盖它。