Что означает строка this (x,y,10 ) в теле конструктора ? И почему нельзя было решить так:
public Circle(double x, double y) {
this.x = x;
this.y = y;
this.radius = 10;
Circle ci = new Circle(this.x, this.y, this.radius);
} ??
Алексей
16 уровень
Не понимаю реализацию конструктора
Решен
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
RiccioMaster
13 августа 2019, 19:33
Можно было. Но цель задачи - научить вас вызывать конструктор из конструктора.
0
Алексей Software Developer в АО СибКом
13 августа 2019, 19:41
Благодарю! А почему мы можем вызывать конструктор таким способом : this (x,y,z)? При этом также объект класса будет создаваться?
0
RiccioMaster
13 августа 2019, 20:06
Да.
Подробнее в комментарии ниже.
0
Justinian Judge в Mega City One Master
13 августа 2019, 19:32
Вызов другого конструктора Circle(double x, double y, double radius) с передачей туда параметров (x, y, 10);
0
Алексей Software Developer в АО СибКом
13 августа 2019, 19:37
Благодарю! А то меня смутила эта краткая запись: this (x,y,10). Думал,что конструктор вызывается только при создании объекта типа Саt cat = new Cat(a,b,c) , например
0
Justinian Judge в Mega City One Master
13 августа 2019, 19:47
Ключевое слово new запускает процесс создания объекта. В этом процессе может быть вызов одного конструтора или нескольких, - объект будет один.
Если грубо обобщить, считай что в данном случае конструторы ведут себя как методы - с одного метода мы можем вызвать другой.
Ключевое слово this возвращает ссылку на экземпляр класса.
this (x,y,10 ) говорит компилятору - слушай, мы тут создаем объект, а ну-ка исполни еще код, который содержится в другом конструкторе.
Происходит работа, и по завершению всего - наш объект готов.
0