我想了解最好的方式共享引用,我不知道我已经完全理解它。如何描述共享参考?
我对共享引用的理解是当我有一个集合,并且在代码中存在两个或多个对该集合的引用时,如果在其中一个引用中发生更改,另一个引用不会相同并生成错误,正确?
问候
我想了解最好的方式共享引用,我不知道我已经完全理解它。如何描述共享参考?
我对共享引用的理解是当我有一个集合,并且在代码中存在两个或多个对该集合的引用时,如果在其中一个引用中发生更改,另一个引用不会相同并生成错误,正确?
问候
如果这些引用的一个改变对方的将是不一样的,并产生错误的,正确的?
正确的,但部分。如果集合的内容通过一个引用而改变,其他引用也将指向更新的内容。
你的另一部分说,它会产生错误。好吧,这取决于逻辑。
class A
{
public static void main(String[] args)
{
A a1 = new A();
A a2 = a1;
A a3 = a2;
}
}
在这里,所有的引用都指向同一个对象。所以,如果对象被修改a1
,其他参考a2
,a3
也将看到修改状态。
想象一下,你和你的兄弟是在马戏团,你每赢得一个气球和一支笔的奖金。你在气球上画一张满脸幸福的脸,你的兄弟会在他的脸上画一张悲伤的脸。
现在你做不都共享引用。你们每个人都可以改变你的气球上绘制的内容而不改变其他的。
可悲的是你不小心松手你的气球,但你的哥哥,因为他爱你,提供了与大家分享他的气球,所以他系上第二个字符串,并用手该字符串给你。您现在有共享引用到一个气球。
现在,任何更改都在脸上做的气球会被你们两个共享。有一个气球和两个琴弦。如果你在气球上画一张满脸幸福的脸,你的兄弟也会在气球上找到一张笑脸,因为它们是相同的气球。
我们不知道“共享参考”是什么意思。通常,“共享引用”意味着只有一个对象可以引用两个或更多的东西。由于只有一个对象,所以通过一个引用来改变它,与通过另一个对象改变效果的效果完全相同。但是你可能用“共享参考”来表达别的意思。 –
也在研究类不变式,但不会对今天更感兴趣;) – user1501127