Classe abstrata vs Interface em Java

Fiz uma pergunta, queria que minha resposta fosse revisada aqui.

Q: Em qual cenário é mais apropriado estender uma classe abstrata em vez de implementar a (s) interface (s)?

UMA: Se estivermos usando o padrão de design do método de modelo.

Estou correcto ?

Lamento se não consegui apresentar a questão com clareza.
Eu sei a diferença básica entre classe abstrata e interface.

1) usar classe abstrata quando o requisito é tal que precisamos implementar a mesma funcionalidade em cada subclasse para uma operação específica (implementar o método) e funcionalidade diferente para algumas outras operações (apenas assinaturas de métodos)

2) use interface se você precisa colocar a assinatura para ser o mesmo (e implementação diferente) para que você possa cumprir com a implementação da interface

3) podemos estender o máximo de uma classe abstrata, mas podemos implementar mais de uma interface

Reiterando a pergunta: Existem outros cenários, além daqueles mencionados acima, onde especificamente exigimos o uso de classes abstratas (um deles é conceitualmente baseado no conceito)?

Interface vs. classe abstrata

Escolher entre estes dois realmente depende do que você quer fazer, mas felizmente para nós, Erich Gamma pode nos ajudar um pouco.

Como sempre há um trade-off, uma interface lhe dá liberdade em relação à classe base, uma classe abstrata lhe dá aliberdade para adicionar novos métodos depois. - Erich Gamma

VocêNão é possível alterar uma interface sem ter que alterar muitas outras coisas no seu código, então a única maneira de evitar isso seria criar uma interface totalmente nova, o que pode nem sempre ser uma coisa boa.

Abstract classes deve ser usado principalmente para objetos que estão intimamente relacionados.Interfaces são melhores em fornecer funcionalidade comum para classes não relacionadas.

questionAnswers(14)

yourAnswerToTheQuestion