This question already has an answer here:
Why can we create more than one instance of a static class? I try to find parallel between static class and static method, but this fact confuses me.
A static class is a nested class (i.e. it is declared within another class). It behaves like a top level class, which means you can create multiple instances of it.
It doesn't have much in common with static methods or static variables.
First of all - you can not create top-level static class. Static classes refer to nested classes.
You create static nested class when it's somehow related with class that contains it and initialization of nested class without its parent would not have sense.
To understand why inner classes are defined as being static, imagine what it would mean if they were not static: instead of being generally available, the inner class definition would belong to an instance of the outer class. That makes no real sense since class definitions such as these already exist at compile time. As a result, there is no case to be made for them not being static.