Я слышал, что байт-код Java на самом деле не поддерживает никаких безымянных классов. Как javac переводит неназванные классы в именованные?