赋值操作符“=”,它表达的意思是取右边的值,把它赋给左边。“=”运算符的使用分两种情况:


1.对基本类型的赋值:

基本类型存储了实际的数值,而并非指向一个对象的引用,所以在为其赋值的时候,是直接从一个地方赋值到了另外一个地方,如对基本类型a=b,那么b的内容就赋值给了a,若接着有修改了a,而b根本不会受到这种影响。


2.对对象进行赋值:

对对象进行赋值,我们实际操作的是对象的引用,所以倘若将一个对象赋值给另外一个对象,实际上是将“引用”从一个地方复制到另外一个地方,如对对象使用a=b,那么a和b都指向了原本只有b指向的那个对象。这种特殊的现象被称作别名现象,在Java中是操作对象的一种基本方式。


如果只是想将b中的属性的值赋值给a属性,则可以直接将b对象的某一属性值赋值给a对象的某一属性值。这样操作的结果a和b对象的存储空间则是不一样的。


思维导图如下


java中对象赋值对象 java直接赋值和对象赋值_赋值操作符


同样适用这种别名现象的还有调用函数的参数,将对象的引用传递过去,而不是将对象的值传递过去。