在Java中,当引用(不止一个)链接到同一个对象时,使用Alias(别名)。别名的问题是,当用户写入特定对象时,其他几个引用的所有者不希望该对象发生更改。在这里,包含别名的代码可能会很快变得有点混乱,而且调试起来也非常繁琐。总的来说,别名是一个应该避免或谨慎使用的过程。让我们看看Java Alias是如何工作的。
alias在Java中是如何工作的?
如前所述,当多个引用链接到同一对象时,会使用别名。这还意味着一个位置有几个别名可以修改,这些特定的别名有几种类型。
让我们举个例子。 x
和 y
是两个变量名,有两种类型 x
和 y
。 y
扩展了 x
。
Y[] y = new Y[10]; X[] x = y; x[0] = new X(); Y[0].func1();
在内存中,它们都指向同一个位置。
指向的内存位置由x和y指向。但是,实际保存的对象选择在运行时调用哪个方法。
看另外一个例子:
Rectangle b1 = new Rectangle (0, 0, 50, 150); Rectangle b2 = b1;
b1和b2都指同一个对象,或者我们可以说给定的对象有两个名称,比如b1和b2。与有两个名字的人类似,对象也可以有两个名字。
<