Java has no way of making a top-level class static but you can simulate a static class like this:
- Declare your class final – Prevents extension of the class since extending a static class makes no sense
- Make the constructor private – Prevents instantiation by client code as it makes no sense to instantiate a static class
- Make all the members and functions of the class static – Since the class cannot be instantiated no instance methods can be called or instance fields accessed
- Note that the compiler will not prevent you from declaring an instance (non-static) member. The issue will only show up if you attempt to call the instance member