Why would I use a static block:
static {
B = 10;
}
over:
Integer B = 10;
What is the advantages/disadv
The static block allows you to write more complex initialization logic for the attribute, whereas the one-line initialization limits you to a single expression.
Be aware that initialization blocks exist for both instance and static attributes, for example this one initializes an instance attribute at instantiation time:
private int a;
{ a = 10; }
Whereas this one initializes a static attribute at class loading time:
private static int b;
static { b = 10; }
The initialization procedure is explained in detail in here, as part of the JVM specification.