1.測(cè)試代碼:傳遞String
public class MyProject
{
public static void main(String[] agrs) {
String name = "haha";
System.out.println("before change : " + name);
change(name);
System.out.println("after change : " + name);
}
private static void change(String s) {
s = "changed";
}
}
測(cè)試結(jié)果
before change : haha
after change : haha
2.測(cè)試代碼:傳遞對(duì)象-修改對(duì)象信息
public class MyProject
{
public static void main(String[] agrs) {
Student mStudent = new Student("xiaohong", 10);
System.out.println("before change : " + mStudent.getName() + " " + mStudent.getAge());
change(mStudent);
System.out.println("after change : " + mStudent.getName() + " " + mStudent.getAge());
}
private static void change(Student s) {
s.setName("xiaoming");
s.setAge(15);
}
}
測(cè)試結(jié)果
before change : xiaohong 10
after change : xiaoming 15
3.測(cè)試代碼:傳遞對(duì)象-修改對(duì)象指向
public class MyProject
{
public static void main(String[] agrs) {
Student mStudent = new Student("xiaohong", 10);
System.out.println("before change : " + mStudent.getName() + " " + mStudent.getAge());
change(mStudent);
System.out.println("after change : " + mStudent.getName() + " " + mStudent.getAge());
}
private static void change(Student s) {
s = new Student("xiaoming", 15);
}
}
測(cè)試結(jié)果
before change : xiaohong 10
after change : xiaohong 10