Если он использует отражение, это, вероятно, очень плохая идея. Оставляя это в стороне, я полагаю, что вы можете добавлять дополнительные внутренние классы во время выполнения, поэтому нет смысла перечислять классы, о которых, возможно, еще не думали. Я полагаю, что для перечисления загруженных в настоящее время классов потребуется использовать агенты Java или аналогичные им.
Анонимные внутренние классы имеют имена, включающий метод и дополнительные синтетические поля для копирования внешних локальных переменных, которые были скопированы. Один класс почти такой же, как другой во время выполнения. Помните, что 1.1 ввел внутренние классы, но файлы классов практически не изменились с 1.0.