а почему такие странные создания объектов?
Outer.Inner inner = new Outer().new Inner();
Outer.Nested nested = new Outer.Nested();
вот они
public class Outer {
    class Inner {
        Inner() {
            System.out.println("Создание объекта внутреннего класса");
        }
    }
    static class Nested {
        Nested() {
            System.out.println("Создание объекта вложенного класса");
        }
    }
}
а вот сам класс