2016-01-23 153 views
-2

我聽說Java整數是通過價值,爲什麼下面的代碼在code.runnable.com工作?爲什麼code.runnable.com允許我在Java中更改變量的值?

public class HelloWorld { 
    public static void main(String[] args) { 
    int number = 0; 
    number = 2; 
    System.out.println(number); 
    } 
} 

的代碼將打印出。

+3

你**不是**甚至調用一個方法。這是簡單的本地分配。請澄清你的問題。 –

+0

@ElliottFrisch不調用方法**來修改變量**。 'System.out.println'是一個方法,它被調用。 – MikeCAT

+0

@MikeCAT好吧,'main'也是。但OP的問題只包括一個本地分配的例子。 –

回答

0

此代碼片段不會在任何地方通過number。你聲明一個局部變量,然後覆蓋它的初始值。這在Java中是完全合法的,並且與通過引用或按值傳遞無關。

+0

被剪切的代碼將'number'傳遞給'System.out.println',所以它被打印出來。 – MikeCAT

相關問題