- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
方法参数
程序设计语言中有关参数传递给方法的术语
值调用(call by value):表示方法接收的是调用者提供的值,不能修改传递值调用的变量值
引用调用(call by reference):表示方法接收的是调用者提供的地址,可以修改传递引用所对应的变量值
方法参数的两种类型
基本数据类型(数字、布尔值)
对象引用
import org.junit.Test;
public class StackAndHeap
{
public int x = 1;
public StringBuilder str = new StringBuilder(refrence);
public void increament(int y,StringBuilder str)
{
y++;
str = str.append(!);
System.out.println(process:);
System.out.println(y);
System.out.println(str);
}
@Test
public void demo1()
{
StackAndHeap sah = new StackAndHeap();
System.out.println(before:);
System.out.println(x);
System.out.println(str);
sah.increament(x,str);
System.out.println(after:);
System.out.println(x);
System.out.println(str);
}
}
result is:
before:
1
refrence
process:
2
refrence!
after:
1
refrence!
Java程序设计语言中总是采用值调用,也就是说,方法得到的是所有参数值的一个拷贝,特别是,方法不能修改传递给它的任何参数变量的内容。
double percent = 10;
harry.raaseSalary(percent);
具体执行过程:
x被初始化为percent值的一个拷贝(即10)
x被乘以3后等于30,但percent仍然是10
这个方法结束之后,参数x不再使用
小结:
一个方法不可能修改一个基本类型的参数。而对
像类型就不同了,可以很容易地利用下面这个方
法将一个雇员的薪金提高两倍。
文档评论(0)