0

值类型是没有自己的实体,也没有自己的生命周期的类型。值类型的另一个属性表示它不能有共享引用。例如 - 如果有一个类用户,它有一个实例变量地址指向地址类的对象。即使两个用户有相同的地址,那么他们也不能指向同一个对象。

这是什么原因?

4

1 回答 1

0

原因是,如果您有两个用户具有相同的地址实例,则以下内容会修改两个用户的地址,这显然是您不想要的:

user1.getAddress().setStreet("new street");

这两个地址,即使它们包含相同的值,也代表数据库中两个不同行的单元格,因此它们应该是不同的实例。

于 2012-06-06T10:35:07.557 回答