Reputation: 2613
I was just discussing with some colleagues about Java constructors, design-patterns and good way to initialize objects with a unparametrized constructor if I normally await some parameters.
One of the older ones came up with his way of implementing always something like:
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;
}
..
}
My question is, is that good style and what is its behaviour exactly?
From what I understand should be:
Upvotes: 4
Views: 309
Reputation: 80194
This is known as Telescoping Constructor pattern. In Effective Java, Joshua provides alternatives with suggestions on which one to use when.
Upvotes: 6
Reputation: 31903
So the GC has then to delete the first created one.
No. Only 1 instance is ever created when chaining constructors.
To answer your question, yes, it's good style, assuming you need both foo()
and foo(int, int, int)
Upvotes: 6