1. 如果在调用 (私有方法) initStudent()的操作里,保持输入参数的引用不变,只是重新设置其属性 name 的值, 则调用完毕后执行 System.out.println(student) 就会输出为 name 新设置的值。即,执行如下修改的代码, 就会输出从新设置其属性 name 的值。
publicvoidtest022(){
Student student = new Student();
initStudent(student);
System.out.println(student);
}
privatevoidinitStudent(Student student) {
// student = new Student();
student.setStudentName("阿波吃的");
}
最佳答案 2020-03-24 17:09
就楼主所示的案例而言,
修改代码, 以求 保留或传递出 修改了的对象的引用,方案有二:
1. 如果在调用 (私有方法) initStudent()的操作里,保持输入参数的引用不变,只是重新设置其属性 name 的值, 则调用完毕后执行 System.out.println(student) 就会输出为 name 新设置的值。即,执行如下修改的代码, 就会输出从新设置其属性 name 的值。
2. 将 具有新属性值的对象的引用传递出去。