java 面向对象(六):类结构 方法(三) java的值传递机制
java的值传递机制
1.针对于方法内变量的赋值举例:
System.out.println("***********基本数据类型:****************");
int m = 10;
int n = m;
System.out.println("m = " + m + ", n = " + n);
n = 20;
System.out.println("m = " + m + ", n = " + n);
System.out.println("***********引用数据类型:****************");
Order o1 = new Order();
o1.orderId = 1001;
Order o2 = o1;//赋值以后,o1和o2的地址值相同,都指向了堆空间中同一个对象实体。
System.out.println("o1.orderId = " + o1.orderId + ",o2.orderId = " +o2.orderId);
o2.orderId = 1002;
System.out.println("o1.orderId = " + o1.orderId + ",o2.orderId = " +o2.orderId);
规则:
如果变量是基本数据类型,此时赋值的是变量所保存的数据值。
如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。
2.针对于方法的参数概念
形参:方法定义时,声明的小括号内的参数
实参:方法调用时,实际传递给形参的数据
3.java中参数传递机制:值传递
规则:
* 如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值。
* 如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值。
推广:
如果变量是基本数据类型,此时赋值的是变量所保存的数据值。
如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。
4.典型例题与内存解析:
【例题1】
【例题2】
最新文章
- [读书笔记]Java之静态分派
- 【随机化】bzoj4080 [Wf2014]Sensor Network
- Kali Linux Web 渗透测试视频教程—第十课 w3af
- P1179: [Apio2009]Atm
- iOS WebView的用法
- Android仿微信朋友圈,全文收起功能,附源码
- python基础6--面向对象基础、装饰器
- css 快捷修改 checkbox 及 radio的背景图
- falsk简单项目示例
- 一道面试题(C语言)
- C#反射の反射详解
- BZOJ3118 Orz the MST 【单纯形 + 生成树】
- Microsoft Project 常用快捷键
- 【BZOJ2019】nim
- linux系统web站点设置-http基础设置
- FileZilla等软件搭建ftp服务器
- HTML5学习笔记 音频
- phpmyadmin登录报错crypt_random_string requires at least one symmetric cipher be loaded 解决方法
- php+IIS 配置环境(windows环境)
- 60. Permutation Sequence(求全排列的第k个排列)
热门文章
- 数据结构之栈(Stack)
- 非线性规划的Matlab 解法
- [每日一题2020.06.07]codeforces Round #627 (Div. 3)
- 这一次搞懂Spring自定义标签以及注解解析原理
- mybatis读写分离
- 线程间配合:Condition、Semaphore、CountDownLatch、CyclicBarrier
- Apollo配置中心的实战
- 个人认为目前比较好用的ECMAScript(16-20)新特性
- script写在head与写在body中的区别
- TypeScript学习——数组、元组、接口(2)