interface A {
   void f();
}
interface B {
   void f();
}class Test implements A, B {
   public void f(){}//通过编译...感觉怪怪的...
}
_________________________________________________interface A {
   void f();
}
interface B {
   int f();
}class Test implements A, B {
   public void f(){}
   public int f(){return 0;}//无法通过编译,方法重名,有解决的办法吗?
}

解决方案 »

  1.   

    类继承多个接口时,可以继承其部分方法,也可以不是先任何方法;所以第一种编译可以通过
    第二种时  public void f(){} 继承了接口A的方法   而public int f(){return 0;}看上去是继承接口B的方法
    但是实际却是在同一个类中的方法重名问题  如需要继承两个接口的方法则必须改方法名
    基本上的JAVA基础书上都有讲吧