值传递和引用传递
值传递和引用传递
- 值传递:对形参的修改不会影响到实参;
- 引用传递:对形参的修改会影响到实参;
实参:要传递给方法的实际参数,在方法外面;
形参:方法签名上定义的参数,在方法里面;
public static void main(String[] args) {
int a=8;//实参
f(a);
}
public static void f(int a){
System.out.println(a);//形参
}

public static void main(String[] args) {
int a=8;
f(a);
System.out.println("实参:"+a);
}
public static void f(int a){
a=16;
System.out.println("形参:"+a);
}
//打印结果:形参:16;实参:8.
- 引用等于遥控器,对象等于电视机;

//引用传递:对象 本质还是值传递 一个类中只有一个public class,但是还可以有其他class
public class Demo5 {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);//null
Demo5.change(person);
System.out.println(person.name);//蔺泽林
}
public static void change(Person person) {
//person是一个对象,指向的 Person person = new Person();这是一个具体的人,可以改变属性;
person.name = "蔺泽林";
}
}
//定义一个Person类,有一个属性:name
class Person {
String name;//默认为null
}

- 形参重新赋值,实参将无影响

- 值传递:创建副本;引用传递:调用原地址;

浙公网安备 33010602011771号