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(); 
}