main is static so your code can execute without having to instantiate a class first. Maybe you don't even want to create a class, or maybe creating the class is slow and you want to print out a "Loading..." text first, or you have multiple constructors, etc... there are many reasons not to force the user to create a class before command execution can begin.
You can still create objects before main() is executed if you create them statically.