Não sou um Sr. Java, mas vou tentar explicar o que eu sei…
A classe abstrata além de voce ter métodos Abstratos nela, voce também pode criar métodos non-abstract
Agora se vc possui um método Abstrato em uma Classe Normal, isso da erro, entendeu a diferença né?
Quando voce tem métodos abstrato em uma classe abstrata e uma outra classe extende ela tornando-a subclasse, você terá que implementar os métodos abstratos nelas, ou pelo menos declarar eles como abstratos na subclasse também…
Uma desvantagem da classe abstrata é que voce pode extender apenas uma Classe, entao se vc ja tem uma classe que extende por exemplo JFrame, vc nao vai conseguir extender uma classe abstrata… uma solução pra isso seria na classe abstrata extender o JFrame e sua outra subclasse extender a Classe Abstrata…
Interface eu uso muito mas muito maissssssssssss que classes abstratas, acho que a vantagem de usar classe abstrata que além de voce criar métodos abstratos voce tb pode criar métodos non-abstract que podem usar nas sub-classes…
Pelo que eu entendo é isso.
[]´s
Junior