Such a combination of virtual and final will be formally correct, but in fact meaningless. So the question here is rather to the author of the code: why did they declare such a method?
If you aim to push the ears behind the excuses for such use, then a possible reason could be the desire to formally make the class polymorphic . (For example, I wanted for some of my goals that dynamic_cast<void *> worked with Base * type pointers, and the Base * class, unfortunately, is not polymorphic for me.) To do this, create at least one virtual method in it, even if the virtuality of this method is in fact "no one needs anymore." Traditionally, in such situations virtual make destructor. But as a strange alternative, you can consider such a "fictitious" virtuality, as in your example.
PS Do not call non-virtual methods "static". The term static method in C ++ is already reserved and is used for very different purposes.