Just in case you want to know how it works.
When a class is loaded and before any instances are created, the static variables are assigned, the static constructor is called and any static methods are made available. There is no need to create any instances:
class PlumPudding {
public static final boolean ADD_BRANDY = true;
private static List<coin> coins;
static {
PlumPudding.coins = new ArrayList<coin>();
PlumPudding.coins.add(new Coin(1));
PlumPudding.coins.add(new Coin(2));
PlumPudding.coins.add(new Coin(5));
PlumPudding.coins.add(new Coin(10));
PlumPudding.coins.add(new Coin(20));
PlumPudding.coins.add(new Coin(50));
}
public static Coin getRandonCoin() {
}
}</coin></coin>