Every member type declaration(classes as well as interfaces) appearing within the body of a directly enclosing interface is implicitly static and public.
Any logical reason why they are implicitly static?
You cannot refer to "this" inside a interface. Hence there is no point in going for a non-static member interface. But why the same for member class inside an interface.
To create the innner class you would need an instance of the containing class but there is no such thing: it's an interface. Ignoring that, what benefit would you derive with an inner class instance? Access to package and private scope fields and methods? There are none.