Can\'t find a satisfactory answer anywhere.
The access modifier supported for top level are class are as follows :
1) public
2) default
3) abstract
4) final
5) strictfp.
Reason: Top level class
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 and mainly as mentioned above static can't be used at Package level. It only used within the Class level.