Because the inner class in intimately associated to the top level class you must have an instance of the outer class to create an inner via
Outer o = new Outer();
Inner i = o.new Inner();
This is therefore associated with an instance and not a class.