Comparando interfaces e classes abstratas na linguagem Java, podemos afirmar que:
tanto interfaces quanto classes abstratas podem ser estendidas apenas através de herança simples.
uma classe abstrata, bem como uma interface, pode implementar uma outra interface, utilizando a cláusula implements.
tanto classes abstratas quanto interfaces podem conter atributos de instância.
classes abstratas podem ter construtores, mas interfaces não podem.
classes concretas e interfaces podem estender uma classe abstrata, através da relação extends.