2015-10-03 34 views
0

我剛開始學習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

在這種方法中

public static void m1(Date date) { 

    date = new Date(); 

} 

你不是真正改變的date的真正價值。 date只是一個複製到方法中的局部變量。當m1退出時,date丟失範圍並被銷燬。你沒有做出任何真正的改變(如在通過的論點中)。

相關問題