Rozhraní (interface)

Rozhraní definuje metody, které musí existovat, ale neurčuje jejich obsah. Instance rozhraní nemůže existovat, ale s objektem implementujícím příslušné rozhraní lze pracovat jako s rozhraním. (Připomíná to škleb bez kočky z Alenky v kraji divů.)

Příklad:

public interface ZvířecíVlastnosti {
  public int početNohou();
}

public class Zmije implements ZvířecíVlastnosti {
  public int početNohou() {
    return 0;
  }
}

public class Slepice implements ZvířecíVlastnosti {
  public int početNohou() {
    return 2;
  }
}

public class Kočka implements ZvířecíVlastnosti {
  public int početNohou() {
    return 4;
  }
}

public class Chroust implements ZvířecíVlastnosti {
  public int početNohou() {
    return 6;
  }
}

public class Sklípkan implements ZvířecíVlastnosti {
  public int početNohou() {
    return 8;
  }
}

public class Stonožka implements ZvířecíVlastnosti {
  public int početNohou() {
    return 100;
  }
}

ZvířecíVlastnosti brouk = new Chroust;
System.out.println(brouk.početNohou()); // vytiskne 6