Another question. I thought the follow code would not compile because i is non-static, which cannot be accessed by static change_i? Thank you. class StaticTest3 { int i = 0; public static void main(String[] args) { int i = 1; change_i(i); System.out.println(i); } public static void change_i(int i) { i=2; i*=2; } }