Java方法参数(一)
来源:互联网 发布:上古卷轴4捏脸数据 编辑:程序博客网 时间:2024/06/07 10:17
最近在看《java核心技术卷1》,看到4.5章节的时候解决了以前一直有些疑惑的问题。
记录如下:
首先,在程序设计语言中,将参数传递给方法(或函数)的术语有:
按值调用(call by value)表示方法接收的是调用者提供的值。
按引用调用(call by reference)表示方法接收的是调用者提供的变量地址。
书中还提到了Algol的按名称调用。
在java中:
java程序设计语言总是采用按值调用。也就是说,方法得到的是所有参数值的一个拷贝,特别是,方法不能修改传递给它的任何参数变量的内容。
例如,考虑代码:
double percent = 10;harry.raiseSalary(persent);暂且不用管这段代码的具体实现,书中这个章节用了雇员类来解释很多事情,我们现在只要知道这种调用的方式并不能让percent的值进行改变就可以了。
以上是一个简单的例子,说明了java参数传递的方式。下面将从参数为基本数据类型和对象引用两种情况进行分析:
方法参数为基本数据类型:
public static void tripleValue(double x){ x = 3 * x;}
然后调用:
double percent = 10.0;tripleValue(percent);调用之后,percent的值还是10.0,并没有什么变化。
下面看一下具体的执行的过程:
1.x被初始化为percent值的一个拷贝,也还是10。
2.x被乘以了3,然后x变成了30,但是percent仍然是10,因为毕竟是对x的操作,并没有改变percent。
3.方法结束之后,x被弃用了,结果percent还是10。
0 0
- Java方法参数(一)
- java虚拟机(一)参数
- Java方法参数(二)
- Java方法参数(三)
- Mybatis方法参数一
- Java基础:参数传递(一)
- Java方法的可选参数(可变参数)
- 函数参数传递方法一
- java方法参数传递
- java 可变参数方法
- JAVA 参数传方法
- Java多参数方法
- Java方法参数传递
- Java方法输出参数
- java方法参数
- JAVA 可变参数方法
- Java 方法参数传递
- java方法参数
- Deepin下添加连接实现WiFi共享功能(支持Adhoc手机)
- sleep和wait的区别
- [leetcode] 174.Dungeon Game
- html5--用canvas做个放大镜
- mysql中engine=innodb和engine=myisam的区别
- Java方法参数(一)
- HTTP1.0与HTTP1.1的区别
- array types are now written with the brackets around the element type
- java反射机制详解 及 Method.invoke解释
- JVM java虚拟机学习(二)
- 哲学家就餐问题
- java中遍历MAP的几种方法
- Android Studio 1.3.0 以上gradle proxy代理设置异常
- js 实现map集合