Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
public class Main {
public static void main(String[] args) {
Point p = new Point();
p.x = 1;
Point q = p;
q.x = 7;
q = new Point();
q.x = 9;
System.out.println(p.x);
}
}
class Point { int x; }7
- Ждать
1:Point q = pкопирует только ссылку, поэтомуpиqведут к одному объекту, иq.x = 7видно черезp. - Ждать
9:q = new Point()переводит на новый объект толькоq, аpведёт к прежнему, гдеxпо-прежнему 7.
- Как сделать
qнезависимой копией точкиp? - Что напечатает
p == qсразу послеPoint q = p?