Bueno, iba a preguntar cuál es la diferencia, pero ha sido respondida antes. Pero ahora estoy preguntando por qué hicieron estas diferencias? (Estoy hablando de Java aquí, no sé si lo mismo se aplica a otros idiomas)¿Por qué crear clases e interfaces abstractas?
Las dos cosas parecen muy similares. Las clases abstractas pueden definir un cuerpo de método, mientras que las interfaces no pueden, pero pueden heredarse múltiples interfaces. Entonces, ¿por qué ellos (por "ellos" me refiero a Sun cuando escribieron Java) hacen una cosa donde se puede escribir un cuerpo de método y este tipo puede ser heredado más de una vez por una clase.
¿Hay alguna ventaja en no poder escribir un cuerpo de método, o ampliar varias veces que no estoy viendo?
¡Ah, sabía que debía haber algo que me faltaba, esto tiene sentido! – Paul