Why we cannot override static method?

It is because the static method is the part of class and it is bound with class whereas instance method is bound with object and static gets memory in class area and instance gets memory in heap.

Static means they are associated with a class. In static methods , the binding mechanism is static binding. So it must be available at the compile time.