Em orientação a objetos, uma classe é uma descrição que abstrai um conjunto de objetos com características similares. ... De outra forma, uma classe pode ser definida como uma descrição das propriedades ou estados possíveis de um conjunto de objetos, bem como os comportamentos ou ações aplicáveis a estes mesmos objetos.
Superclasse é aquela classe que será derivada, é a classe mãe ou base como também é chamada. Subclasse é a classe derivada, é a classe filha que foi herdada de uma superclasse.
Utilizar interfaces se uma das situações abaixo ocorrer:
A interface é um recurso muito utilizado em Java, bem como na maioria das linguagens orientadas a objeto, para “obrigar” a um determinado grupo de classes a ter métodos ou propriedades em comum para existir em um determinado contexto, contudo os métodos podem ser implementados em cada classe de uma maneira diferente.
Antes de tudo é importante entender qual o conceito principal de Interface: Esta tem objetivo criar um “contrato” onde a Classe que a implementa deve obrigatoriamente obedecer. Na listagem 1 vemos como criar uma simples Interface em Java. Perceba que os métodos na interface não têm corpo, apenas assinatura.