Я слышал, что байт-код Java фактически не поддерживает никаких неназванных классов. Как javac переводит классы nonamned в именованные?
Ответ 1
Он синтезирует имя формы EnclosingClass$n, где "n" является счетчиком анонимных классов в EnclosingClass. Поскольку использование $ в идентификаторах не рекомендуется, эти имена не должны сталкиваться с любыми указанными пользователем именами.