Java-值传递or引用传递
1、对象是按引用传递的
2、Java 应用程序有且仅有的一种参数传递机制,即按值传递
3、按值传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的一个副本(不改变实参的值)
4、按引用传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的内存地址,而不是值的副本(可以改变实参的值)
对象类型:people.java
public class People {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Test.java
public class Test {
public static void test(int[] b){
for(int i = 0; i<b.length; i++)b[i] = i;
}
public static void test(People people){
People p1 = people;
p1.setName("zhangsan");
}
public static void test(int num){
num = 10;
}
}
Main.java
public class Main {
public static void main(String[] args) {
People people = new People();
int[] a = new int[5];
int b = 9;
Test.test(people);
Test.test(a);
Test.test(b);
System.out.println("peopele'name:"+people.getName());
for(int i :a)System.out.println(i);
System.out.println("b="+ b);
}
}
//打印结果
peopele'name:zhangsan
0
1
2
3
4
b=9