我是Java新手,並試圖自己學習。我寫了下面的代碼,我想知道爲什麼輸出不符合我的預期。下面是我寫的代碼:Java變量作用域 - 實例和類變量
public class Roughwork {
public static int classVar = 25;
public void getValue(int a){
classVar = a;
System.out.println(classVar);
}
public static void main(String[] args) {
Roughwork test = new Roughwork();
System.out.println(classVar);
test.getValue(30);
System.out.println(classVar);
}
}
這個程序的輸出是:
25
30
30
我預計輸出爲
25
30
25
究竟發生了什麼,我必須這樣做才能獲得我的預期產出?
刪除'static'關鍵字。然後去閱讀它的功能。 – christopher
@ user2810706你正在改變變量的值。你爲什麼想知道它被改變了? – Maroun
@MarounMaroun:我改變的值是在(getValue)方法中,所以我認爲它將被限制在該方法中,並且最終的classVar值將被視爲25而不是30 – user2810706