参考来源:《java编程思想(第四版)》 见第三章3.4节

基本数据类型存储了实际的数值,并非指向一个对象的引用,故其赋值,就是直接将一个地方的内容复制到了另一个地方。例如,对基本数据类型使用a=b,那么b的内容就复制给a,而b根本不会受这种修改的影响。但是作为对象“赋值”的时候,真正操作的是对“对象”的引用。所以倘若“将一个对象赋值给另外一个对象”,实际是将“引用”从一个地方复制到另一个地方。这意味着假若对对象使用c=d,那么c和d都指向原本只有d指向的那个对象。

class Tank {
int level;
} public class Assignment {
public static void main(String[] args) {
Tank t1 = new Tank();
Tank t2 = new Tank();
t1.level = 9;
t2.level = 47;
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 = 27;
System.out.println("3: t1.level: " + t1.level + ", t2.level: " t2.level); }
/* 输出:
* 1:t1.level:9, t2.level:47
* 2:t1.level:47, t2.level:47
* 3:t1.level:27, t2.level:27
*/
}

最新文章

  1. PS Web切图界面设置
  2. 获取应用图标,Drawable 转bitmap
  3. 安装vim的ycm
  4. Loadrunner上传与下载文件脚本
  5. canvas 画六边形边框
  6. 奇怪吸引子---WimolBanlue
  7. 【bzoj1051】 [HAOI2006]受欢迎的牛 tarjan缩点判出度算点数
  8. Linux 服务器安全技巧
  9. MySQL查询in操作 查询结果按in集合顺序显示(转)
  10. 暑假集训(2)第一弹 -----Is It A Tree?(Poj308)
  11. Andoid实现手动绘图
  12. MyEclipse中“擅自乱改”项目名导致项目报错的处理
  13. HDU 1260 Tickets(基础dp)
  14. 点击<tr>表格行元素进行跳转
  15. golang 调用windows API 中文的处理
  16. 《图解HTTP》读书笔记(二:各种协议与HTTP协议之间的关系)
  17. 安装在类虚拟机crossover中的容器怎么进行的备份和恢复
  18. WPF调用zxing生成二维码
  19. Oracle 11g EM删除重建的方法
  20. 使用Selenium和openCV对HTML5 canvas游戏进行自动化功能测试(一)

热门文章

  1. hbuilder+vue单页应用打包成APP后退按钮返回上一页的问题
  2. Yii 1.1 常规框架部署和配置
  3. 1208E Let Them Slide
  4. .NETFramework:System.Collections.Generic.KeyValuePair.cs
  5. 20150909—Win10系统80端口被System占用
  6. win2016
  7. PHP继承及实现
  8. 解读:nginx的一个神秘配置worker_cpu_affinity
  9. 4期Web安全基础
  10. python 可变类型和不可变类型