Я думаю, что вы неправильно понимаете конструкцию, которую вы описали:
Object o = new Outer().new Inner();
на самом деле полностью квалифицирует конструктор Inner
class ', как и в
Outer.Inner i = new Outer().new Inner();
С другой стороны, вы могли бы написать это:
import path.to.Outer;
import path.to.Outer.Inner;
// ...
Inner i = new Outer().new Inner();