方法的传参机制对我们今后的编程非常重要,一定要搞的清清楚楚明明白白。我们通过案例来学习
一、基本数据类型的传参机制
public class MethodParameter01 { //编写一个 main 方法
public static void main(String[] args) {
int a = 10;
int b = 20;
//创建 AA 对象 名字
obj AA obj = new AA();
obj.swap(a, b); //调用 swap
System.out.println("main 方法 a=" + a + " b=" + b);//a=10 b=20 } }
class obj{
public void swap (int a,int b){
int tmp = a;
a = b;
b = temp;
System.out.println("a="+a+" "+"b="+b);
}
}
代码中swap方法就是交换两个整型数值的值
内存分析如图所示(手工)
结论:基本数据类型,传递的是值,形参的任何改变不影响实参!!
二、引用数据类型的传参机制
看一个案例
MethodParameter02.java
B
类中编写一个方法
test100
,可以接收一个数组,在方法中修改该数组,看看原来的数组是否变化?会变化
B
类中编写一个方法
test200
,可以接收一个
Person(age,sal)
对象,在方法中修改该对象属性,看看原来的对象是否变
结果发现在方法中改变数组和对象的属性,原来的数组和对象的属性也发生了改变
结论:引用类型传递的是地址(传递也是值,但是值是地址),可以通过形参影响实参!