При создании объекта 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");
		}
	};
}