==相等操作符比较引用类型对象时,检查两个对象在运行时内存结构里是否是同一个对象。
同一个对象才返回真...
所有引用类型,如果没有初始化,那么它的值就是 null。比如:String s
这时只是声明了成员变量 s 它的值是 null,可以在声明的时候对它进行初始化:
String s = new String("Hello")
首先生成对象的时候对象的内容被存储在内存中的,存储的位置会有段内存地址而 当 A a = new A()的时候可以如下理解
new A() 在内存中保存该对象并返回存储位置的地址, A a = new A()执行的时候呢a的值
可以理解为a = 内存地址这样
那么在引用传递的时候比如 A b = a的时候,相当于 b = a的内存地址
所以无论对a还是b进行修改的话,实际上都是修改内存中由new A()生成的对象
而 a 和 b 其实都是对 new A()生成的对象的引用
对象的复制是指内存中实际存储两个对象,只不过第二个对象的所有之都与第一个对象相同,
相当于 A b = new A(),让后再把a 中的内容全部复制到b中,
这个时候修改 a 的时候 b的内容不会改变