方法上参数的传递,如果参数是引用类型的对象,传递的是地址;
如果参数是基本数据类型,传递的是值。
变量的赋值,传的是引用。
定义方法是传递的参数是形参,调用方法是传递的是实参。
Person.java
packagejava的传值传地址;
public class Person {
private String name;
public Person() {
super();
}
public Person(String name) {
super();
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Test.java
package java的传值传地址;
public class Test {
public static void test(Person p){
Person p2 = new Person("小军");
//在方法中:形参传递方法的其实是对象的地址
p.setName("小明");
//赋值传递的其实是对象的引用
p = p2;
System.out.println(p.getName());
}
public static void test(int a){
System.out.println(a);
a =20;
System.out.println(a);
}
public static void main(String[] args) {
int a =10;
Person p = new Person();
test(p);
System.out.println("p:"+p.getName());
//测试常量
test(a);
System.out.println(a);
}
}