Mega Code Archive

 
Categories / Java / Language Basics
 

Interface Collision

// : c08:InterfaceCollision.java // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 // www.BruceEckel.com. See copyright notice in CopyRight.txt. interface I1 {   void f(); } interface I2 {   int f(int i); } interface I3 {   int f(); } class C {   public int f() {     return 1;   } } class C2 implements I1, I2 {   public void f() {   }   public int f(int i) {     return 1;   } // overloaded } class C3 extends C implements I2 {   public int f(int i) {     return 1;   } // overloaded } class C4 extends C implements I3 {   // Identical, no problem:   public int f() {     return 1;   } } // Methods differ only by return type: //! class C5 extends C implements I1 {} //! interface I4 extends I1, I3 {} ///:~