1) Las clases definen la estructura y comportamiento de los objetos mediante campos y métodos, mientras que los interfaces solo declaran métodos sin implementación. 2) Las clases pueden heredar campos y métodos de otras clases, y pueden anular métodos heredados. 3) Los interfaces aseguran que las clases que los implementan incluyan ciertos métodos, pero las clases deciden cómo implementar esos métodos.