Ho sempre creduto, ingenuamente, che le Interfacce in Java fossero uno strumento per implementare l'ereditarietà multipla.

In alcune slides che ho letto viene riportata questa definizione:

Le interfacce possono:
migliorare la manutenibilità di sistemi software attraverso:
 - Riduzione dell’accoppiamento (“coupling”) fra classi
- miglioramento della coesione di ciascuna classe
 - Aumento della riusabilità delle classi

Cosa si intende?