staticメソッドがオーバライドできない理由:
そもそもオーバライドは、オブジェクトによって動作(呼びだすメソッド)を変更する仕組み。
staticなメソッドは、対象とするオブジェクトが存在しないから、オーバライドしようがない。