Actually neither of those questions are limited to inner classes. If you try your PopCorn example as a top-level class which extends PopCorn, the same question arises. (And it has the same answer.)
Likewise you can't declare any class -- anonymous or otherwise -- which isn't a subclass of another class. If nothing else, a class you declare is a subclass of Object.
Likewise you can't declare any class -- anonymous or otherwise -- which isn't a subclass of another class. If nothing else, a class you declare is a subclass of Object.
Paul Clapham . Ok , apart from the Object .
Don't get me started about those stupid light bulbs.