Вы также получите что-то вроде SomeClass$1.class
, если ваш класс содержит закрытый внутренний класс (не анонимный), но вы создаете его в какой-то момент в родительском классе.
Например:
public class Person {
private class Brain{
void ponderLife() {
System.out.println("The meaning of life is...");
}
}
Person() {
Brain b = new Brain();
b.ponderLife();
}
}
Это даст:
Person.class
Person$Brain.class
Person$1.class
Лично я думаю, что это немного легче читать, чем типичный анонимный класс, особенно при реализации простого интерфейса или абстрактного класса, который служит только для передачи в другой локальный объект.