Static methods cannot be overridden because
method overriding only occurs in the context of dynamic (i.e. runtime) lookup of
methods.
Static methods (by their name) are looked up statically (i.e. at compile-time).
Method overriding happens in the type of subtype polymorphism that exists in languages like Java and C++.
read more >>