代碼大全p336 示例代碼:
函數:
Sub WriteGlobal(ByRef inputVar As Integer)
inputVar = 0
globalVar = inputVar + 5
MsgBox("Input Variable: " $ Str(inputVar))
MsgBox("Global Variable: " $ Str(globalVar))
End Sub
調用:
WriteGlobal(globalVar)
結果:
Input Variable:5
Global Variable:5
意思是:globalVar是一個全局變量當做參數傳遞給子程序:
是否可以將代碼轉換成java代碼:
package itcast.writeglobal;
public class WriteGlobalTest {
public static int globalVar = 3;
public static void main(String[] args) {
WriteGlobal(globalVar);
}
private static void WriteGlobal(int inputVar){
inputVar = 0;
globalVar = inputVar + 5;
System.out.println(inputVar);
System.out.println(globalVar);
}
}
為什麼java代碼顯示的結果是0和5.哪裡理解錯了嗎?請懂的大神解惑。謝謝!
Sub WriteGlobal(ByRef inputVar As Integer)
VB特有的ByRef,是引用傳參,在其中修改inputVar會影響調用者。
Java不支持。