形参传值问题
值类型:为基本类型
是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。
形参传引用问题
Java中五种引用类型(对象类型):类、接口、数组、枚举、标注
是指在调用函数时将实际参数的地址直接传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。
深拷贝浅拷贝问题
引用拷贝
对象拷贝(深拷贝与浅拷贝)
深拷贝与浅拷贝主要区别在实现Cloneable的代码不同。
深拷贝:
public Object clone() throws CloneNotSupportedException {
// 浅复制时:
// Object object = super.clone();
// return object;
// 改为深复制:
Student student = (Student) super.clone();
// 本来是浅复制,现在将Teacher对象复制一份并重新set进来
student.setTeacher((Teacher) student.getTeacher().clone());
return student;
}
浅拷贝
public Object clone() throws CloneNotSupportedException {
Object object = super.clone();
return object;
}
案例:
参考