208. 面向对象(上) 方法参数的值传递机制

关于变量的赋值 :

基本数据类型:此时赋值的是变量所保存的数据值。

引用数据类型:此时赋值的是变量所保存的数据的地址值。

方法形参的值传递机制

  1. 形参:方法定义时,声明在()内的参数。

    实参:方法调用时,实际传给形参的数据。

  2. 方法形参的值传递机制:

    基本数据类型:方法形参改变, 不影响实参的值。

    引用数据类型:方法形参改变, 影响实参的值。

//交换数组中指定两个位置元素的值
//错误的方法
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. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性