Ну, два варианта:
- Просто иметь конструктор с тремя параметрами и вызывать его, используя null или пустую строку для
middleInitial
- Перегрузить конструкторы, возможно вызываяодин из другого.
В качестве примера для последнего, используя пустую строку в качестве средней инициалы по умолчанию:
public Person(String firstName, String middleInitial, String lastName)
{
this.firstName = firstName;
this.middleInitial = middleInitial;
this.lastName = lastName;
}
public Person(String firstName, String lastName)
{
this(firstName, "", lastName);
}
Однако компилятору нужно будет знать, какой из нихВы звоните с сайта звонков.Таким образом, вы можете сделать:
new Person("Jon", "L", "Skeet");
или
new Person("Jon", "Skeet");
... но вы не можете сделать:
// Invalid
new Person(firstName, gotMiddleInitial ? middleInitial : ???, lastName);
и ожидать, что компилятор решит:используйте вместо этого вариант с двумя именами.