我们先定义一个接口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()。这造成同一类中写两个类型不同的同名方法。。。。。。
请发表意见。