我刚开始学习Java。我正在读这本书:Java编程简介,综合版(10th_Edition)。 在第9章中,有一个简单的程序:
import java.util.Date;
public class Test {
public static void main(String[] args) {
Date date = null;
m1(date);
System.out.println(date);
}
public static void m1(Date date) {
date = new Date();
}
}
据我所知,该方法创建了一个新对象,并将其分配给传递给它的引用变量。 为什么在调用方法后它仍然打印为null? 谢谢你的回答。
答案 0 :(得分:0)
在这个方法中
public static void m1(Date date) {
date = new Date();
}
您实际上并没有改变date
的实际价值。 date
只是复制到方法中的局部变量。当m1
退出时,date
会失去范围并被销毁。你还没有做出任何真正的改变(如传入的论点)。