При создании объекта Person получаю на консоли:
PersonInner1
PersonInnerAnon
Person
Появилось несколько вопросов:
1) Почему конструктор статического класса PersonStatic не отрабатывает?
2) Почему конструктор PersonInner2 не отрабатывает?
3) В каком порядке работают конструкторы? Внутренний нестатический -> анонимный -> внешний?
Подскажите, кто знает
class Person {
Person() {
System.out.println("Person");
}
static class PersonStatic {
PersonStatic() {
System.out.println("PersonStatic");
}
}
class PersonInner1 {
PersonInner1() {
System.out.println("PersonInner1");
}
}
class PersonInner2 {
PersonInner2() {
System.out.println("PersonInner2");
}
}
PersonInner1 p = new PersonInner1() {
{
System.out.println("PersonInnerAnon");
}
};
}