[英]Methods with the same name in 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中的方法,该怎么办?
您可能已经注意到,接口方法没有任何正文。 这只是意味着,实现此接口的类必须实现这些方法,此处为aMethod()
。 您的类SubClass
扩展了AClass
并AClass
继承了aMethod()
方法。 现在执行aMethod
在SubClass
将简单地覆盖从方法AClass
并同时坚持接口规则。 因此,有效的方法将是SubClass
。
要回答你的问题简言之: aMethod()
在子类都目前从实现方法AnInterface
并从覆盖它AClass
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.