interface
Le interfacce (interface) servono a definire un modello di comportamento che le classi devono implementare. Diversamente dalla gerarchia delle classi che Ŕ ad ereditarietÓ singola, la gerarchia delle interfacce Ŕ ad ereditarietÓ multipla. Le interfacce possono ereditare da pi¨ "interfacce madri", esse passano alle loro "interfacce figlie" solo descrizioni di metodi (comportamenti) ma non implementazioni e nÚ variabili istanza.

Le interfacce, per default, non ereditano da Object che Ŕ una classe, e non esiste una "superinterfaccia madre" (diversamente dalla gerarchia delle classi dove Object Ŕ la superclasse di tutte le Classi).

Tutti i metodi definiti in un'interfaccia sono implicitamente public e abstract e non possono essere private. Le variabili sono implicitamente publicstatic e final.

L'ereditarietÓ tra le interfacce la si ottiene con la keyword extends. Una classe implementa una o pi¨ interfacce mediante la keyword implements. Se una classe non implementa tutti i metodi contenuti nell'interfaccia allora sarÓ una classe astratta.

Vedere anche: implements, extends, class
Esempio: 
public interface MiaInterfaccia { 
    public static final int i = 10; 
    int j = 0;    //diventa public static final 
    public abstract int MioMetodo(); 
    int MioSecondoMetodo();    //diventa public abstract 
} 

Esempio2: 
public interface MiaInterfaccia2 extends MiaInterfaccia, TuaInterfaccia { 
    public static final float x = 100; 
    public abstract float AltroMetodo(); 
}