¿Cuál es la diferencia entre interfaz y clase abstracta en Java?
Las clases abstractas pueden tener métodos con implementación, mientras que la interfaz proporciona abstracción absoluta y no puede tener implementaciones de métodos. Ten en cuenta que, a partir de Java 8, es posible crear métodos por defecto y estáticos en la interfaz que contengan las implementaciones de los métodos.