powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Что случилось ???
10 сообщений из 10, страница 1 из 1
Что случилось ???
    #34823702
iv_va
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть класс
****************************************************************************
public class Student {
private Long id;
private String name;

public Student() {
super();
}

public Student(Long id, String name) {
super();
this.id = id;
this.name = name;
}

public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

@Override
public String toString() {
return "id : "+id+" name : "+name;
}

}
********************************************************************************
public class Core {

public static void change(Integer count) {
count = new Integer(10);
System.out.println("inner change : "+count);
}
public static void change(Student student) {
student.setId(new Long(158));
}

public static void main(String[] args) {
Core core = new Core();
Integer iCount = new Integer("2");
change(iCount);
System.out.println("Obj Integer : "+iCount);

Student student = new Student(new Long(11),"Iv_va");
System.out.println("before change : "+student);
change(student);

System.out.println("after chanche Student : "+student);
}
*******************************************************************************

Что произойдет и почему ???? объясните почему ?? Огромное спасибо :))
...
Рейтинг: 0 / 0
Что случилось ???
    #34823714
jusio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю "неуд" будет=)
...
Рейтинг: 0 / 0
Что случилось ???
    #34823736
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jusioДумаю "неуд" будет=) +1 Двойку в дневник и оставить на второй год.
...
Рейтинг: 0 / 0
Что случилось ???
    #34823844
iv_va
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vas0 jusioДумаю "неуд" будет=) +1 Двойку в дневник и оставить на второй год.

А если подумать головой ?
...
Рейтинг: 0 / 0
Что случилось ???
    #34823892
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_vaА если подумать головой ? ну если подумать головой, то так в java параметры передаються по значению, то такой метод как
Код: plaintext
1.
2.
3.
 public   static   void  change(Integer count) {
    count =  new  Integer( 10 );
    System.out.println("inner change : "+count);
}
выведет тебе новое значение, но не изменит ту ссылку котороя была передана как параметр (так как сдесь меняется уже копия этой ссылки).
Код: plaintext
1.
2.
 public   static   void  change(Student student) {
student.setId( new   Long ( 158 ));
}
а здесь меняется не ссылка, а состояние объекта. У тебя две ссылки указывают на один и тот же объект и если ты его состояние меняешь, то это будет видно через любую из ссылок.
...
Рейтинг: 0 / 0
Что случилось ???
    #34823894
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_va vas0 jusioДумаю "неуд" будет=) +1 Двойку в дневник и оставить на второй год.

А если подумать головой ?
Если подумать - то лучше сразу выгнать
...
Рейтинг: 0 / 0
Что случилось ???
    #34823900
Фотография Софтверный проктолог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_va
Что произойдет и почему ???? объясните почему ?? Огромное спасибо :))
Потому что.
...
Рейтинг: 0 / 0
Что случилось ???
    #34824174
iv_va
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vas0 iv_vaА если подумать головой ? ну если подумать головой, то так в java параметры передаються по значению, то такой метод как
Код: plaintext
1.
2.
3.
 public   static   void  change(Integer count) {
    count =  new  Integer( 10 );
    System.out.println("inner change : "+count);
}
выведет тебе новое значение, но не изменит ту ссылку котороя была передана как параметр (так как сдесь меняется уже копия этой ссылки).
Код: plaintext
1.
2.
 public   static   void  change(Student student) {
student.setId( new   Long ( 158 ));
}
а здесь меняется не ссылка, а состояние объекта. У тебя две ссылки указывают на один и тот же объект и если ты его состояние меняешь, то это будет видно через любую из ссылок.

Спасибо за ответ, я так и думал но никак не могу понять зачем было создавать Integer-объект
и int- примитив ???? и в книгах (если не ошибаюсь Философия Java Брюс Екель) описываеться объекты передаються по ссылке а примитивы по значению.

Всеровно огромное спасибо за ответ
...
Рейтинг: 0 / 0
Что случилось ???
    #34824204
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автори в книгах (если не ошибаюсь Философия Java Брюс Екель) описываеться объекты передаються по ссылке а примитивы по значению. Быть такого не может (Эккель не может так заложать) :) В любой нормальной книжке по java написано, параметры pass by-value, pass by reference в java нет. Передаються всегда копии, для примитивов копии значения, для ссылок копии ссылок.
...
Рейтинг: 0 / 0
Что случилось ???
    #34824277
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_vaСпасибо за ответ, я так и думал но никак не могу понять зачем было создавать Integer-объект и int- примитив???? и в книгах (если не ошибаюсь Философия Java Брюс Екель) описываеться объекты передаються по ссылке а примитивы по значению. Всеровно огромное спасибо за ответ
Насчет того как что передается здесь уже обсуждалось. Ищите на форуме. На мой взгляд, ваше утверждение не верно. Но если тут сейчас начать обсуждать - будет повторение.
Насчет int и Integer. Код не смотрел, т.к. он не отформатирован. Поэтому - если вопрос непосредственно о приведенном коде - то чтобы запутать, скорее всего. Если вопрос по языку, то
а). Примитивные типы работают гораздо быстрее классов-оберток;
б). Примитивные типы нельзя добавить в коллекции.
Для удобства в 5 версию языка было добавлено средство автоупаковки/распоковки объектов (autoboxing), с помощью которого преобразование int/Integer осуществляется автоматически в нужных местах. Но делать это нужно аккуратно и осторожно.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Что случилось ???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]