为什么这个对象引用变量在创建对象并将其分配给变量后为空

  • 本文关键字:变量 分配 对象引用 创建对象 java
  • 更新时间 :
  • 英文 :


我刚开始学习Java。我正在读这本书:Java编程入门,综合版(第10版)。在第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();
}
}

据我所知,该方法创建了一个新对象,并将其分配给传递给它的引用变量。为什么它仍然打印空调用方法后?谢谢你的回答。

在这个方法中

public static void m1(Date date) {
    date = new Date();
}

实际上并没有改变date的实际值。date只是复制到方法中的一个局部变量。当m1退出时,date失去作用范围并被破坏。您没有对其进行任何实际更改(例如,传入的参数)。

最新更新