JAVA学习笔记--赋值(“=”)
2024-09-02 11:14:39
参考来源:《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
*/
}
最新文章
- PS Web切图界面设置
- 获取应用图标,Drawable 转bitmap
- 安装vim的ycm
- Loadrunner上传与下载文件脚本
- canvas 画六边形边框
- 奇怪吸引子---WimolBanlue
- 【bzoj1051】 [HAOI2006]受欢迎的牛 tarjan缩点判出度算点数
- Linux 服务器安全技巧
- MySQL查询in操作 查询结果按in集合顺序显示(转)
- 暑假集训(2)第一弹 -----Is It A Tree?(Poj308)
- Andoid实现手动绘图
- MyEclipse中“擅自乱改”项目名导致项目报错的处理
- HDU 1260 Tickets(基础dp)
- 点击<;tr>;表格行元素进行跳转
- golang 调用windows API 中文的处理
- 《图解HTTP》读书笔记(二:各种协议与HTTP协议之间的关系)
- 安装在类虚拟机crossover中的容器怎么进行的备份和恢复
- WPF调用zxing生成二维码
- Oracle 11g EM删除重建的方法
- 使用Selenium和openCV对HTML5 canvas游戏进行自动化功能测试(一)
热门文章
- hbuilder+vue单页应用打包成APP后退按钮返回上一页的问题
- Yii 1.1 常规框架部署和配置
- 1208E Let Them Slide
- .NETFramework:System.Collections.Generic.KeyValuePair.cs
- 20150909&mdash;Win10系统80端口被System占用
- win2016
- PHP继承及实现
- 解读:nginx的一个神秘配置worker_cpu_affinity
- 4期Web安全基础
- python 可变类型和不可变类型