Interfacce
contiene solo metodi non statici, pubblici (non è necessario specificarlo)
tutti i metodi sono astratti
è implementata da una classe che abbia la clausola implements nell’intestazione
un esempio che conosciamo: Iterator
public interface Iterator {
public boolean hasNext ( );
// EFFECTS: restituisce true se ci sono altri elementi
public Object next throws NoSuchElementException;
// EFFECTS: se ci sono altri elementi da generare dà il
// successivo e modifica lo stato di this, altrimenti
// solleva NoSuchElementException (unchecked)}