'static' makes an element usable without the need to instance a class.
You can think of it them class' fields or methods.
You don't have to create an instance to use them; you can use them straight on by class name.
For example:
public class Class1{
public int method(){return 5;}
public static int static_method(){return 5;}
}
Now, notice that both of method and static_method will work in this case:
Class1 c = new Class1();
c.static_method();
c.method();
But in this case, only static_method works:
Class1.static_method();
Class1.method() //Doesn't work!
It's called "static" probably because you can't declare them in runtime.
I mean, you can create more than 1 instance of the class.
But you can't "create more classes" in the runtime.