值传递
package com.oop.Demo01;
//值传递
public class Demo04 {
public static void main(String[] args) {
int a = 1;
System.out.println(a);
Demo04.change(a);
System.out.println(a);
}
public static void change(int a){
a = 10;
}
}
这里只是执行了一遍change方法,并没有改变值,而下面的引用传递,通过对象person改变了name的值
引用传递
package com.oop.Demo01;
//引用传递
public class Demo05 {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);
Demo05.change(person);
System.out.println(person.name);
}
public static void change(Person person){
//person是一个对象,指向的是-----》 Person person = new Person();
person.name = "bit";
}
}
//定义一个person类 有一个属性 name
class Person{
String name;
}
引用传递的本质还是值传递