Esto es así porque si estos objetos implementan la misma interface, en ella se recoge el conjunto de métodos que tienen en común y por lo tanto se pueden ejecutar con variables de la interface.