java中具有相同名称的方法

时间:2015-11-26 20:29:17

标签: java

假设我们在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中的方法,我该怎么办呢?

1 个答案:

答案 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覆盖它。