Java中继承接口重写同名方法?

来源:互联网 发布:周杰和陈道明 知乎 编辑:程序博客网 时间:2024/06/04 18:37

我们先定义一个接口A,再定义一个接口B,他们有相同的名称的方法,该方法类型也相同,当在MYCLASS类中继续了A,B这两个接口,重写ff方法时,重写的到底是A的ff方法还是B的ff方法??  (此种编译正常.运行没问题)
interface A{
  public void  ff();
}
interface B{
  public void ff();
}
class MYCLASS implements A,B{
 public void ff(){
  System.out.println("OVERWRITE ee");
 }
}
public class ee
{
 public static void main(String[] args)
 {
  MYCLASS Myclass=new MYCLASS();
  Myclass.ff();
 }
}

下面我们将程序稍改动一下,

interface A{
  public String  ff();
}
interface B{
  public void ff();
}
class MYCLASS implements A,B{
 public void ff(){
  System.out.println("OVERWRITE ee");
 }
 public String ff(){
  return "A:ff()";
 }
}
public class ee
{
 public static void main(String[] args)
 {
  MYCLASS Myclass=new MYCLASS();
  Myclass.ff();
 }
}

MYCLASS中如何重写A,与B的ff方法?因为他们各自ff()方法的类型不一样,而在MYCLASS中必须重写A与B的ff()。这造成同一类中写两个类型不同的同名方法。。。。。。
请发表意见。

 

原创粉丝点击