Задачу решил, но остался не понятен вопрос.
Если во внутреннем классе А написать
System.out.println(getClass().getName());
то выдаст:
com.javarush.task.task24.task2411.Solution$1
но если написать то же самое в анонимном классе наследованном от класса А
private A a = new A() {
{
System.out.println(getClass().getName());
}
};
то он тоже выдаст:
com.javarush.task.task24.task2411.Solution$1
Что как бы не логично?!
Если бы он соответственно выдавал
com.javarush.task.task24.task2411.Solution$А
com.javarush.task.task24.task2411.Solution$1
то было бы логично, что внутренний класс и анонимный-внутренний наследованный от него компилируется в 2 разных класса, а тут получается в один? Это вообще как, это же разные классы.