208. 面向对象(上) 方法参数的值传递机制
关于变量的赋值 :
基本数据类型:此时赋值的是变量所保存的数据值。
引用数据类型:此时赋值的是变量所保存的数据的地址值。
方法形参的值传递机制
-
形参:方法定义时,声明在()内的参数。
实参:方法调用时,实际传给形参的数据。
-
方法形参的值传递机制:
基本数据类型:方法形参改变, 不影响实参的值。
引用数据类型:方法形参改变, 影响实参的值。
//交换数组中指定两个位置元素的值
//错误的方法
void swap(int i , int j){
int temp = i;
i = j;
j = temp;
}
//正确的方法
void swap(int []arr,int i,int j){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
练习题
将对象作为参数传递给方法
(1)定义一个Circle类,包含一个double型的radius属性代表圆的半径,一个findArea()方法返回圆的面积。
(2)定义一个类PassObject,在类中定义一个方法printAreas(),该方法的定义如下:public void printAreas(Circle c, int time) I
在printAreas方法中打印输出1到time之间的每个整数半径值,以及对应的面积。例如,times为5,则输出半径1,2,3,4,5,以及对应的圆面积。
(3)在main方法中调用printAreas()方法,调 用完毕后输出当前半径值。程序运行结果如图所示。
原文地址:http://www.cnblogs.com/lg369/p/16806580.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性