Я создал следующий тест, чтобы увидеть, как Java обрабатывает объекты, и это меня немного запутывает.Поля класса Java по ссылке?
public class MyClass
{
public String text = "original";
public MyClass(String text)
{
this.text = text;
}
}
Затем я создал следующие 2 сценария:
1.
String object1 = new String("original");
String object2 = new String("original");
object2 = object1;
object2 = "changed";
System.out.println(object1);
System.out.println(object2);
Результат:
original
changed
2.
MyClass object1 = new MyClass("object1");
MyClass object2 = new MyClass("object2");
object2 = object1;
object2.text = "changed";
System.out.println(object1.text);
System.out.println(object2.text);
Результат:
changed
changed
Теперь почему текстовое поле совместно, как статическое поле?
@DyapaSrikanth: Если вы собираетесь дать ответ, пожалуйста, сделайте это * в * ответ - но в идеале сделать это в полном английском языке, а не текст-говорить. –