第三章(2) 类和对象 - 参数的传递
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
以变量为参数的调用方法
Biblioteka Baidu
例:若在通过方法调用,将外部传入的参数赋值给类的成员变量,方 法的形式参数与类的成员变量同名时,则需用this关键字来标识成员 变量。
//filename:CylinderApp.class class Cylinder{ double radius; int height; double pi; void setCylinder(double radius, int height, double pi) //具有三个参数的方法 { pi=pi; this.pi=pi; radius=radius; this.radius=radius; height=height; } this.height=height; double area() { return pi*radius*radius; } double volume() { return area()*height; } }
new Cylinder().setCylinder(2.5,5,3.14);
此处,new Cylinder()就是匿名对象。
以数组作为参数或返回值的方法调用
传递数组:要传递数组到方法中,只要指明传入的参数是一个数组即可。 例:以一维数组为参数的方法调用,求若干数的最小值。
//filename:ArrayApp.java class LeastNumb { public void least(int[ ] array) { int temp=array[0]; for(int i=1; i<array.length; i++) if(temp>array[i]) temp=array[i]; System.out.println(“最小的数为:”+temp); } } public class ArrayApp { public static void main(String[] args) { int[ ] a={8,3,7,88,9,23}; LeastNumb minNumber = new LeastNumb(); minNumber.least(a); } }
Java程序设计
第三章(2) 类和对象——参数的传递
以变量为参数的调用方法
例:以圆柱体类Cylinder为例来介绍用变量调用方法。
//filename:CylinderApp.class class Cylinder{ double radius; int height; double pi; void setCylinder(double r, int h, double p) //具有三个参数的方法 { pi=p; public class CylinerApp radius=r; { public static void main(String[] args) height=h; { Cylinder vollu=new Cylinder(); } volu.setCylinder(2.5, 5, 3.14); double area() System.out.println(“底圆半径=”+volu.radius); { return pi*radius*radius; System.out.println(“圆柱的高=”+volu.height); } System.out.println(“圆周率=”+volu.pi); double volume() System.out.println(“圆柱底面积=”+volu.area()); { return area()*height; System.out.println(“圆柱体积=”+volu.volume()); } } } }
返回值为数组类型的方法
若需方法返回一个数组,则必须在该方法的前面加上数组类型的修饰符。 例:将一个矩阵转置后输出。
//filename:MatrixApp.java class Trans { int temp; int[ ][ ] transpose(int[ ][ ] array) { for(int i=0; i<b.length;j++) for(int j=i+1; j<b[i].length;j++) { temp=array[i][j]; array[i][j]=array[j][i]; array[j][i]=temp; } return array; } } public class MatrixApp { public static void main(String[] args) { int[ ][ ] a={{1,2,3},{4,5,6},{7,8,9}}; int[ ][ ] b= new int[3][3]; Trans pose= new Trans(); b=pose.transpose(a); for(int i=0; i<b.length;i++) { for(int j=0; j<b[i].length;j++ ) System.out.print(b[i][j]+” ”); System.out.print(“\n”); } } }
匿名对象
当一个对象被创建之后,在调用该对象的方法时,也可以不定义对象的 引用变量,而直接调用这个对象的方法,这样的对象叫做匿名对象。
Cylinder volu = new Cylinder(); volu.setCylinder(2.5,5,3.14);
使用匿名对象有两种情况: (1)如果对一个对象只需要进行一次 方法调用,那么可以使用匿名对象。 (2)将匿名对象作为实参传递给一个 方法调用。