任何人都可以請解釋爲什麼實例變量'root'爲空?爲什麼實例變量在下例中爲空
public class Test{
String root;
public void assignRoot(){
baseAssignment(root);
}
public void baseAssignment(String root){
if(root == null){
System.out.println("root:"+root);
root = "assigned!";
return;
}
}
public String toString(){
return root;
}
public static void main(String args[]){
Test t = new Test();
t.assignRoot();
System.out.println(t);
}
}
我的輸出是:
root:null
null
但我期待
root:null
assigned!
嘗試從根目錄重命名參數名稱。神奇地看到它的工作;) –
我不認爲這是一個傳遞引用與傳遞值的問題。這是一個範圍問題。 –
@ cricket_007我們的目標不是爲了讓事情順利進行,而是爲了解決技術上的問題,爲什麼某些事情可行或不行。 – cyroxis