【java学习笔记】- 引用数据类型的理解
首先借鉴java编程思想里的一段解释:
java中一切都被视为对象,,但操纵对象的实际上是对象的一个“引用”(reference),可以将这个情景想象成遥控器(引用),操纵电视(对象)。
我觉得这个解释的比较好,我个人理解起来就是,引用是一个“万能遥控器”,它可以操纵世间的一切“对象“,当然这个万能遥控器是有种类的,有专门操纵人的、专门控制车的,专门遥控房子的,这种理解以代码形式便是:
Person p1 = new Person("Tom"); //p1是专门操纵Tom的万能遥控器
Car c1 = new Car("BMW"); //C1是专门操纵BMW的万能遥控器
这里的new就相当于造了一台新车来交给这个遥控器来控制。
一个遥控器只可以操纵一个对象(或者什么也不操控),但一个对象可以被多个遥控器操纵
这里就涉及到一个赋值的问题,我怎么让两台遥控器同时控制一台车呢?
答案就是把这辆车出厂时指定的遥控器拿过来,跟我手里的新遥控器”碰一下“,把他们俩匹配一下,这样我手里的新遥控器和出场的遥控器就都可以操纵那台车了。
Car c1 = new Car("BMW"); //C1出厂时配备的遥控器
Car c2 = c1; //c2是新遥控器
这个时候我就有一台车和两个遥控器了 ——(这里注意我只有一台车,只不过我有两台遥控器而已)