基本数据类型
- 基本数据类型存储了实际的数值,而并非只想一个对象的引用,所以在为其渎职的时候,是直接将一个地方的内容复制到了另一个地方。
-例如,对基本数据类型使用a=b,那么b的内容就赋值给a。若接着又修改了b,而b根本不会受这种修改的影响。作为程序员,这正是大多数情况下我们多期望的。
引用数据类型
在为对象“赋值”的时候,对一个对象进行操作的时候,真正操作的是对象的引用。如果“将一个对象赋值给了另一个对象”,实际是将对象b的“引用”赋值给了对象a。 例如将对象b赋值给了对象a,则代表a和b同样指向了原本b 指向的那个对象,对a对象的修改也会造成b对象中数据的改变。
示例代码:class Tank{ int level; } public class Assignment{ Tank t1 = new Tank(); Tank t2 = new Tank(); t1.level = 9; t2.level = 50; System.out,println("1.t1.level:"+t1.level+",t2.level:"+t2.level); t1=t2; System.out,println("2.t1.level:"+t1.level+",t2.level:"+t2.level); t1.level=80; System.out,println("2.t1.level:"+t1.level+",t2.level:"+t2.level); }
/* Output */
- t1.level:9,t2.level:50
- t1.level:50,t2.level:50
- t1.level:80,t2.level:80