方法声明包括方法名、 返回类型和外部参数。 其中参数的类型可以是简单数据类型, 也
可以是复合数据类型(又称引用数据类型)。
对于简单数据类型来说, java 实现的是值传递,方法接收参数的值,但不能改变这些
参数的值。 如果要改变参数的值, 则用引用数据类型, 因为引用数据类型传递给方法的是数
据在内存中的地址,方法中对数据的操作可以改变数据的值。
例 3-1 说明了简单数据类型与引用数据的区别。
【例 3-1 】
import java.io.*;
public class PassTest{
float ptValue;
public static void main(String args[]) {
int val;
PassTest pt=new PassTest();
val=11;
System.out.println("Original Int Value is:"+val);
pt.changeInt(val); // 值参数
System.out.println("Int Value after Change is:" +val); /* 值参数
值的修改,没有影响值参数的值 */
pt.ptValue=101f;
System.out.println("Original ptValue is:"+pt.ptValue);
pt.changeObjValue(pt); // 引用类型的参数
System.out.println("ptValue after Change is:"+pt.ptValue); /* 引用参数值的修
改,改变了引用参数的值 */
}
public void changeInt(int value){
value=55; // 在方法内部对值参数进行了修改
}
public void changeObjValue(PassTest ref){
ref.ptValue=99f; // 在方法内部对引用参数进行了修改
}
}
运行结果
c:\>java PassTest
Original Int Value is : 11
Int Value after Change is: 11
Original ptValue is: 101.0
ptValue after Change is : 99.0