public int f(int i) { return 1; } // overloaded
重载了重载public void f()

解决方案 »

  1.   

    softbugg() 的意思是class C2 中的public int f(int i) { return 1; } 不是实现了interface I2  中的 int f(int i) 吗?为什么呢?谁能解释一下吗?因为public int f(int i) { return 1; }看起来分明是实现了interface I2  中的int f(int i)呀!
      

  2.   

    class C2 implements I1, I2 {
      public void f() {}
      public int f(int i) { return 1; } // overloaded
    }
    这里的overloaded是相对class C2中的f()与f(int i)而言
      

  3.   

    class C2 implements I1, I2 {
      public void f() {}
      public int f(int i) { return 1; } // overloaded
    }
    这里的overloaded是相对C2中的f()与f(int i)来说的
      

  4.   

    C2中的f()和f(int i)表现为函数重载
    而C2又分别实现了I1 I2 这两个接口,所以分别实现了这两个接口中的方法
    所以它既实现了与f()的重载,同时又是对I2接口的实现
    不能混为一谈的
    就好比一个人可以是老师同时是又学生
    你总不能因为他已经是老师而不准他去读夜校进修吧??
      

  5.   

    同意楼上的。C2中的f(int i)既是实现了I2中的f(int i)同时它也是C2中f()方法的重载