Interface Collision : Interface and Abstract Class « Language Basics « Java






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 {} ///:~


           
       








Related examples in the same category

1.Holds a sequence of ObjectsHolds a sequence of Objects
2.Initializing interface fields with non-constant initializers
3.Two ways that a class can implement multiple interfaces
4.Multiple interfaces
5.Interface Usage ExampleInterface Usage Example
6.Implement multiple interfaces
7.Multi Super Interfaces
8.This shows that a class implementing an interface need not
9.Find out whether interfaces are inheritedFind out whether interfaces are inherited
10.Abstract classes and methodsAbstract classes and methods
11.Extending an interface with inheritance