1.值传递
方法调用的时候 遵循值传递的原则
1)基本数据类型传递的数据的本身
2) 引用数据类型 传递的是对象的地址
3)学java一定要有内存模型的概念 下面来看一个例子
类BirthDate
public class BirthDate {
private int year;//代表年
private int month;//代表月
private int day;//代表日
//构造方法
public BirthDate(int d, int m, int y) {
day = d;
month = m;
year = y;
}
public void setDay(int d) {
day = d;
}
public void setMonth(int m) {
month = m;
}
public void setYear(int y) {
year = y;
}
public void display() {
System.out.println(day + " - " + month + " - " + year);
}
}
测试类:
public class Test {
public static void main(String args[]) {
Test test = new Test();
int date = 9;
BirthDate d1 = new BirthDate(7, 7, 1970);
BirthDate d2 = new BirthDate(1, 1, 2000);
test.change1(date);
test.change2(d1);
test.change3(d2);
System.out.println("date:" + date);
d1.display();
d2.display();
}
public void change1(int i) {
i = 1234;
}
public void change2(BirthDate b) {
b = new BirthDate(22, 2, 2004);
}
public void change3(BirthDate b) {
b.setDay(22);
}
}
调用过程演示: