Я просто обсуждал с некоторыми коллегами о конструкторах Java, шаблонах проектирования и хорошем способе инициализации объектов с помощью непараметризированного конструктора, если я обычно жду некоторых параметров.Хороший стиль для вызова расширенного конструктора из непараметризированного конструктора?
Один из старших придумал свой способ реализации всегда что-то вроде:
public class Foo {
public Foo() {
this(0,0,0);
}
public Foo(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
}
..
}
Мой вопрос, является то, что хороший стиль и то, что его поведение в точности?
Из того, что я понимаю, должно быть:
- это конкретизирует первый объект и затем вызвать параметризированном конструктор для построения нового объекта этого типа с тем, что настройки параметров и установить свою собственную ссылку на новую. Таким образом, GC должен удалить первый созданный.
Это не конструктор, который создает экземпляр объекта, это ключевое слово 'new'. Конструктор отвечает только за инициализацию объекта. – helpermethod
, так что всегда ключевое слово new выделяет память, а конструкторы - это просто зарядка объекта? (также для C++?) – Stefan