static member of any class is a property of class rather than an object i.e., it is common to all the objects.
unlike non static members,objects don't have distinct copy of these members.they are used when you actually
want to define some kind of functionality in a class that will remain equal for all objects of the class in which it
is declared.for ex-suppose you need to count every time a instance of a class is instantiated,you can achieve it
via this by declaring a static variable and increment it each time in a constructor when it is instantiated.they are
also used to define a constant by using a final keyword along with it.static members are accessed via class name
rather than an object.
you can have a static -->
1.variable
2.static nested class
3.static methods
4.static block-they are actually used generally for changing default values of a static variable and are executed when
class will load in JVM.
please see
this link for static blocks.
and this one,
oracle tutorial,for other static members.
Hope this will help!
kind regards,
Praveen.