Как правило, лучше всего объединить все конструкторы в один, содержащий наибольшую информацию, например,
BigBlock(Thing myThing) {
this(myThing, 0, 0, 0); // Assuming 0 is the default value for x, y and z
}
Это становится немного страннее, если есть разные способы вызова конструктора, который don 't эффективно представляет подмножества одной и той же информации, но в этот момент я бы сказал, что дизайн все равно пахнет.
Обратите внимание, что к тому времени, когда вы получите всю реальную логику в одном конструкторе,вам вообще не нужен ваш Initialize
метод (который должен быть initialize
для соблюдения соглашений об именах Java, кстати) - который может также , вы можете сделать поля окончательными, чего раньше вы не могли бы сделать.