Ambas definen tipos abstractos que no pueden instanciarse directamente y están pensadas para ser implementadas/extendidas — pero sirven diferentes propósitos de diseño. Las diferencias clave son herencia múltiple, estado y la relación que modelan.
Interfaz — un contrato ("puede hacer" / capacidad)
{
;
{
System.out.println();
}
;
}
{
{ }
}
