1.对于方法内声明的局部变量来说,如果出现赋值操作:
>如果是基本数据类型的变量,则将此变量保存的数据值传递出去
>如果是引用数据类型(数组、对象等)的变量,则将此变量保存的地址值传递出去
2.方法的参数的传递机制,:值传递机制
2.1 概念
>形参:在定义方法时,方法名后面括号()内声明的变量称为形参
>实参:在调用方法时,方法名后面括号()中的使用的值/变量/表达式称实参
2.2 规则:实参给形参赋值的过程
>如果形参是基本数据类型的变量,则将实参保存的数据值赋给形参
>如果形参是引用数据类型的变量,则将实参保存的地址值赋给形参
public class ValueTransferTest1 {
public static void main(String[] args) {
ValueTransferTest1 test = new ValueTransferTest1();
//1.对于基本数据类型的变量来说
int m=10;
test.method1(m);
System.out.println("m=" + m);//输出10
// 每个方法都有一个栈帧,method1中的m只在method1调用完之后就释放了,打印出来的是main方法中的m
//2.对于引用数据类型的变量来说
Person1 p=new Person1();
p.age=10;
test.method2(p);
System.out.println("age=" + p.age);//输出11
}
public void method1(int m){
m++;
}
public void method2(Person1 p){
p.age++;
}
}
3.面试题:Java中的参数传递机制是什么?
值传递(不是引用传递)