public class Test {
int i=20;
public void method(){
i=10;
}
public static void main(String args[]) {
Test t=new Test();
                t.method();
System.out.println(t.i);
}}为什么System.out.println(t.i)打印出来的值不是10,而是20..

解决方案 »

  1.   

    本帖最后由 java2000_net 于 2009-03-15 08:48:15 编辑
      

  2.   

    为什么System.out.println(t.i)打印出来的值不是10,而是20..怎么会是20?不可能的,是10!
      

  3.   

    这不能叫全局变量,java里边没有全局变量
    这叫做属性或者域,只不过访问权限不是private
      

  4.   

       是10,t.method();将i的值改变了。i是全局变量。
      

  5.   

    是10啊,i为成员变量,在method方法中没有重新声明,所以会改变其值