My question is about one particular usage of static keyword. It is possible to use static keyword to cover a code block within a class which does not belong to
static
The static block is a "static initializer".
It's automatically invoked when the class is loaded, and there's no other way to invoke it (not even via Reflection).
I've personally only ever used it when writing JNI code:
class JNIGlue { static { System.loadLibrary("foo"); } }