创建对象并将其分配给变量后,为什么此对象引用变量为null?

时间:2015-10-03 17:24:10

标签: java

我刚开始学习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? 谢谢你的回答。

1 个答案:

答案 0 :(得分:0)

在这个方法中

public static void m1(Date date) {

    date = new Date();

}

您实际上并没有改变date的实际价值。 date只是复制到方法中的局部变量。当m1退出时,date会失去范围并被销毁。你还没有做出任何真正的改变(如传入的论点)。