Здравствуйте, Sharov, Вы писали:
S>Ну правильно, сначала констр. объекты класса, потом используем поля данного класса. В приведенной выше схеме попытка исп. поля до конструкции объекта. Приведенный код весьма прост, а вот если в общем случае будет вызываться метод, который будет использовать поля Parent, а он(Parent) еще не создан.
В схеме с предконструкторами такого быть не может. Любой метод (равно как и само тело метода-конструктора) выполнятся только после выполнения всех предконструкторов. Можно дать возможность переопределять их (но из них вызовы this.method() делать категорически нельзя, только this.property). Заполнение полей дефолтными значениями (включая инициализацию ссылок на поля-объекты таких как protected prop = new ArrayList()) была бы как раз их задача.