Скажем, у меня есть класс с несколькими конструкторами, один из которых является копией-конструктор (для копирования объекта):Java нулевые аргументы, когда цепные Конструкторы
public class Rectangle {
int width, height;
public Rectangle(int width, int height) {
this.width = width;
this.height = height;
}
public Rectangle(Rectangle source) {
this(source.width, source.height);
}
}
Есть ли способ, что я могу сделать чек, если source
- null
в копировальном конструкторе и бросать IllegalArgumentException
, если это так? Потому что другой вызов конструктора имеет, чтобы быть первым утверждением в моем конструкторе.
Почему второй вызов конструктора должен быть первым выражением в конструкторе копирования? – Janno
Потому что это то, чего хочет Java. – kalsowerus
@ Джанно: Потому что так работает Java. Вы не можете использовать 'this (...)' после другого оператора. –