Is it wrong to have a lot of parameters inside a constructor? Like 10 to 15 parameters? Because I was designing a class where a constructor will have lots of parameters, for
You could decompose Person
into Name
and Contact
.
public class ComposedPerson {
private Name name;
private int age;
private Contact contact;
public ComposedPerson(Name name, int age, Contact contact) {
this.name = name;
this.age = age;
this.contact = contact;
}
public static void main(String... args) {
Name name = new Name("John");
Contact contact = new Contact("12345", "john@doe.com");
ComposedPerson person = new ComposedPerson(name, 45, contact);
}
Sample Name
. See how I use a telescoping constructor to allow for optional arguments.
public class Name {
private String fName;
private String lName;
private String mInitial;
public Name(String fName) {
this(fName, null, null);
}
public Name(String fName, String lName) {
this(fName, lName, null);
}
public Name(String fName, String lName, String mInitial) {
this.fName = fName;
this.lName = lName;
this.mInitial = mInitial;
}
}