English 中文(简体)
在 Java 中分配类
原标题:Assigning classes in Java
  • 时间:2012-05-23 10:35:27
  •  标签:
  • java

我有

  SomeClass sc1 = new SomeClass();
  SomeClass sc2 = sc1;

Will sc2 change due to sc1(when sc1 is changed) ? If not, how to do it?

最佳回答

sc1 的任何更改都将反映在 sc2 中,作为同一对象的两个点。

因此,如果这是 somesclass 的结构, 则表示此结构是否为 somesclass

public SomeClass {
  String name;
  //getter setter
}

如果你这样做

SomeClass sc1 = new SomeClass();
SomeClass sc2 = sc1;

sc1.setName("Hello");

System.out.println(sc2.getName()); // this will print hello since both sc1 and sc2 are pointing to the same object.

But 如果你这样做:

sc1.setName("Hello");
sc1 = null;
System.out.println(sc2.getName()); // this will print hello since only sc1 is null not sc2.
问题回答

是,因为两者都指同一物体。

它就像 - 给 Sc1 一个额外的名字 Sc2。

sc2 sc1 是包含 reference to the 相同对象的单独变量(这是一个重要的区别! ) 。 对对象状态的任何更改都会通过两个引用来同样可见。 因此, 任何更改都会通过两个引用来显示 。 @ info/ plain

sc2.setField("hi!");
sc1.getField(); // returns "hi!"

然而,对提及内容本身的修改对其他内容没有影响:

sc2 = null;
sc1.getField(); // still returns "hi!", no exception




相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签