JAVA值传递和引用传递
值传递
在调用方法时,将实参传递给了形参,但方法中无法通过改变形参直接改变实参。
//值传递
public class Demo{
public static void main(String[] args){
int a = 1;
System.out.println(a); //1
Demo04.change(a);
System.out.println(a); //1
}
//返回值为空
public static void change(int a){
a = 10;
}
}
引用传递
引用传递:对象,本质还是值传递。
public class Demo{
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name); //null
change(person);
System.out.println(person.name);//BB
}
public static void change(Person person){
//person是一个对象:指向的 --- >Person person = new Person();这是一个具体的人,可以改变属性!
person.name="BB";
}
}
//定义了一个Person类,有一个属性:name
class Person{
String name: //nuLL
}
与 C语言 指针联系学习。
引用传递:指针。