Can\'t find a satisfactory answer anywhere.
static
can be added nested classes of an interface, even though this is the default.
I believe static
cannot be added to top level classes because initially there were no nested classes and you couldn't add static to any class.
Later nested class were added and static could be added to nested classes, however there is a tendency not to change the syntax any more than needed so it wasn't added to top level classes. (as there was no need/benefit)
We can't declare outer (top level) class as static because the static keyword is meant for providing memory and executing logic without creating Objects, a class does not have a value logic directly, so the static keyword is not allowed for outer class.