天天看点

java--------别名

怎么说呢,“别名”这个词,编程思想的作者是给出了相当大的批评的,他也指出了会给余下的开发过程造成不可估量的损失。

他的原话:

            “但你很快就会意识到,直接操作对象内的域容易导致混乱,并且,违背了良好的面向对象程序设计的原则。这样就不是一个问题,所以从现在开始大家应该留意,为对象赋值可能会产生意想不到的结果”

1:期初我是看了一遍,看不懂,感觉,其实没什么不对劲的。

2:多看了几遍,发现看是解决不了事情的,就打算自己跟着书本,把代码敲了一遍。

3:发现也没什么不对的,后来又继续看了几遍,才发现文末,作者给出了参考的建议,觉得前面肯定是又哪些不对劲的地方,于是把作者提出需要修改的地方,修改了,发现有部分地方发生了改变。

4:后来又用打印语句,每处都打印了一次,没修改过的也每处打印一次,从而得出的确是有点问题的。

代码有了问题,自然是有原因的,编程思想中的作者给出的阐述,是很明了的。可是看不懂啊,很恼火,思前想后,感觉还是不怎么清楚,后来就查看了本博客的中的其中一条,看到了一个作者他提出的一个解释,从“对象引用”这一词开始解释,可能本人对这个词还是不怎么理解透彻,所以还是感觉一头雾水,从而选择从实际性的敲代码解决,再对比理论。

即每个对象都有自己的对象地址,(这是本人打印对象的地址,再打印了赋值后的对象,再打印了对象之间的=,再打印了赋值后的对象=,这个等于真不知道用什么词来表示恰当,所以还是让他显了原形好了)当你将一个对象=另一个对象时,那么第一个的对象的地址,在=的时候,第一个对象地址是被一个名为“垃圾回收器”回收了的,既而第一个对象名和另一个对象名,如果你再给其中一个对象名赋值,或者做一些修改,那么再打印俩个属性的时候,属性值是一致。

因为他的对象地址是一致的,虽然有不同的属性名

不好意思,我这儿已经写的比较详细,所以呢,就不给出代码了。

并且我这弄的不是很严谨,也有方法的别名,我就没有弄出来了。