As interfaces na linguagem Java oferecem alguns recursos de herança múltipla sem os inconvenientes da herança múltipla total. Uma classe estende somente uma única superclasse, mas pode implementar uma ou mais interfaces. As interfaces podem estender outras interfaces.
Uma interface não é uma definição de uma classe, mas uma definição de um conjunto de métodos que uma ou mais classes implementarão. Uma questão importante sobre as interfaces é que elas declaram somente métodos e constantes. As variáveis não pode ser definidas em interfaces.
A sintaxe de uma interface é um subconjunto da sintaxe de uma classe.
Durante a engenharia reversa: