Все, что мы кодируем в Java, входит в класс.Всякий раз, когда мы запускаем класс, JVM создает объект.JVM может создавать несколько объектов, по определению Static означает, что у вас одинаковый набор копий для всех объектов.
Итак, если бы Java позволил верхнему классу быть статическим при каждом запуске программы, он создаетОбъект и продолжает переопределять на том же месте памяти.
Если вы просто заменяете объект каждый раз, когда запускаете его, какой смысл его создавать?
Так вот почему Java избавилась от статики для класса верхнего уровня.
Могут быть и более конкретные причины, но для меня это логично.