知识概况
1、对于基本数据类型和String类型来说,传递的值是具体的值。
2、对于引用数据类型来说,传递的值,是对象的地址。
注意:Java中方法的参数传递只有值传递,对于引用数据类型来说,
地址值是不会改变的,但是可以改变对象中的内容
举例:
1、
public class Person {
public static void main(String[] args) {
int num = 6;
Person.changeNum(num);
System.out.println(num);//6
int num1 = Person.changeNum1(num);
System.out.println(num);//6(区分方法中的形式参数与实际参数)
System.out.println(num1);//2
}
public static void changeNum(int num) {
num = 2;
}
public static int changeNum1(int num) {
num = 2;
return num;
}
}
2、
public class Person {
String say = "床";
public static void main(String[] args) {
Person person = new Person();
changePerson(person);
System.out.println(person.say);//沙发
changePerson1(person);
System.out.println(person.say);//沙发
}
private static void changePerson(Person person) {
person.say = "沙发";
}
private static void changePerson1(Person person) {
person = new Person();
person.say = "桌子";
}
}