/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
class Ideone
{
Ideone
(String message
) { this.
message = message
; }
public static void foo (Ideone obj)
{
// Здесь мы присваивали ЛОКАЛЬНОЙ переменной obj новый объект
// и соответственно теряли единственную ссылку на него при выходе из метода
// obj = new Ideone("Если бы я был передан по ссылке, вы бы увидели это сообщение.");
// Но теперь, мы обращаемся к нашему объекту через ЛОКАЛЬНУЮ переменную
obj.message = "Изменённое поле";
}
{
Ideone obj = new Ideone("Но вы увидите вот это, потому что параметры в Java передаются по значению.");
foo(obj);
System.
out.
println(obj.
message); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBJZGVvbmUKewogICAgU3RyaW5nIG1lc3NhZ2U7CgogICAgSWRlb25lKFN0cmluZyBtZXNzYWdlKSB7IHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7IH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgZm9vIChJZGVvbmUgb2JqKQogICAgewovLyAgICAgICAg0JfQtNC10YHRjCDQvNGLINC/0YDQuNGB0LLQsNC40LLQsNC70Lgg0JvQntCa0JDQm9Cs0J3QntCZINC/0LXRgNC10LzQtdC90L3QvtC5IG9iaiDQvdC+0LLRi9C5INC+0LHRitC10LrRggovLyAgICAgICAg0Lgg0YHQvtC+0YLQstC10YLRgdGC0LLQtdC90L3QviDRgtC10YDRj9C70Lgg0LXQtNC40L3RgdGC0LLQtdC90L3Rg9GOINGB0YHRi9C70LrRgyDQvdCwINC90LXQs9C+INC/0YDQuCDQstGL0YXQvtC00LUg0LjQtyDQvNC10YLQvtC00LAKICAgICAgICAKLy8gICAgICAgIG9iaiA9IG5ldyBJZGVvbmUoItCV0YHQu9C4INCx0Ysg0Y8g0LHRi9C7INC/0LXRgNC10LTQsNC9INC/0L4g0YHRgdGL0LvQutC1LCDQstGLINCx0Ysg0YPQstC40LTQtdC70Lgg0Y3RgtC+INGB0L7QvtCx0YnQtdC90LjQtS4iKTsKICAgICAgICAKLy8gICAgICAgINCd0L4g0YLQtdC/0LXRgNGMLCDQvNGLINC+0LHRgNCw0YnQsNC10LzRgdGPINC6INC90LDRiNC10LzRgyDQvtCx0YrQtdC60YLRgyDRh9C10YDQtdC3INCb0J7QmtCQ0JvQrNCd0KPQriDQv9C10YDQtdC80LXQvdC90YPRjgogICAgICAgIG9iai5tZXNzYWdlID0gItCY0LfQvNC10L3RkdC90L3QvtC1INC/0L7Qu9C1IjsKICAgIH0KCgogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCiAgICB7CiAgICAgICAgSWRlb25lIG9iaiA9IG5ldyBJZGVvbmUoItCd0L4g0LLRiyDRg9Cy0LjQtNC40YLQtSDQstC+0YIg0Y3RgtC+LCDQv9C+0YLQvtC80YMg0YfRgtC+INC/0LDRgNCw0LzQtdGC0YDRiyDQsiBKYXZhINC/0LXRgNC10LTQsNGO0YLRgdGPINC/0L4g0LfQvdCw0YfQtdC90LjRji4iKTsKICAgICAgICBmb28ob2JqKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4ob2JqLm1lc3NhZ2UpOwogICAgfQp9