Because the syntax doesn't support it. If you make an anonymous class you say new InterfaceName(){ . . .}; or new ClassName(){. . .}; in order to do BOTH you have to stuff 2 names in the new statement.
"JavaRanch, where the deer and the Certified play" - David O'Meara
If you two don't stop this rough-housing somebody is going to end up crying. Sit down and read this tiny ad:
a bit of art, as a gift, the permaculture playing cards