I just ran across a nice example of a Java static initializer block example in an Android book, and thought it might be helpful to share that example here.
First, here's the static initialization code:
private final static Map<Integer, String> MESSAGES;
static {
MESSAGES = new HashMap<Integer, String>();
MESSAGES.put(R.id.non_ghost, "I ain't 'fraid of no ghost!");
MESSAGES.put(R.id.ghost, "Boo!");
};
As you can see, the author declares a reference to a static field named MESSAGES, which is a Java Map. He then assigns an object to that reference, creating it as a HashMap, and then add elements to that object in the static block created after the field is declared.
I don't have the book with me at the moment, but I think this example comes from a very good book named Beginning Android 3.
I just wanted to share that static initialization example here today, but for more information on static initializers, see this brief tutorial in Oracle's Java tutorial trail.

