"¡Hola, Amigo! Bilaabo te dirá las diferencias entre una clase abstracta y una interfaz. Hay varias".
Clase abstracta | Interfaz |
---|---|
Herencia | |
Una clase abstracta puede heredar solo una clase pero puede heredar cualquier número de interfaces . | Una interfaz no puede heredar clases , pero puede heredar cualquier número de interfaces . |
Métodos abstractos | |
Una clase abstracta puede contener métodos abstractos . Pero puede que no tenga ninguno en absoluto. | Todos los métodos no estáticos y no predeterminados de una interfaz son abstractos , es decir, no tienen implementación. Una interfaz no puede tener ningún método . |
Métodos con una implementación | |
Una clase abstracta puede contener métodos con una implementación . | Una interfaz puede tener métodos predeterminados . |
Datos | |
Sin restricciones. | Una interfaz contiene solo datos estáticos finales públicos. |
Creación de objetos | |
No puede crear una instancia de una clase abstracta. | No puede crear una instancia de una interfaz. |
"Eso es lo que entiendo. Breve y al grano".
"Gracias, amigo".
GO TO FULL VERSION