Can someone please give more details as to what they are trying to teach with this exercise?
public class OurPresident {
    private static OurPresident president;

    private OurPresident() {
    }

    static {
        synchronized (OurPresident.class){
                president = new OurPresident();
        }
    }

    public static OurPresident getOurPresident() {
        return president;
    }
}