参数传递,是在程序运行过程中,实际参数就会将参数值传递给相应的形式参数,然后在函数中实现对数据处理和返回的过程,方法有按值传递参数,按地址传递参数和按数组传递参数。Java中没有指针,所以也没有真正的引用传递(按地址传递)了,仅仅有值传递不过可以通过对象的方式来实现引用传递 类似java没有多继承 但可以用多次implements 接口实现多继承的功能。
值传递:
方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参 数的值。
按值传递重要特点:传递的是值的拷贝,也就是说传递后就互不相关了。
如:
public static void main(String[] args) {
int number1 = 100;
System.out.println(number1 + "======");
jisuan(number1);
System.out.println(number1 + "----");
}
public static void jisuan(int number1) {
number1 = 200;
}
运行上面代码的结果为
可以看到,对于基本数据类型的参数,形式参数的改变,不影响实际参数的值。
引用传递:
方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改变将会影响实际参数的值。
按引用传递的重要特点
传递的是值的引用,也就是说传递前和传递后都指向同一个引用(也就是同一个内存空间)。
如
public static void main(String[] args) {
int number1[] = {100,200,300};
System.out.println(number1[1]+"======");
jisuan(number1);
System.out.println(number1[1]+"----");
}
public static void jisuan(int[] number1){
number1[1]= 20000;
}
结果为