In object-oriented paradigm, a virtual function or virtual method is a function or method whose behavior can be overridden within an inheriting class by a f
It's simple, a static method cannot be overridden by an inheriting class, since it's not inherited. So it's not virtual.
What you call "overriding a static method" is actually only defining another static method on another class. It'll only "hide" (and that's actually a much stronger word than what'd be actually true there) the other one, not override it.