class Test{ int i=20;
 
 public void swap(){
  i=10;
 }
 public static void main(String args[]){
    
     Test t=new Test();
     
      t.swap();
 
 }}
  为什么运行结果不是i=10,i的作用范围是整个

解决方案 »

  1.   

    是10,怎么不是10呢?class Test{  int i=20;  public void swap(){ 
      i=10; 

    public static void main(String args[]){ 
        
        Test t=new Test(); 
        
         t.swap(); 
         System.out.println(t.i); }  } 
      

  2.   

    每个Test对象 都会一个i变量 t.swap()只是对t这个对象进行操作,而这里的i和 t对象i 不是同一个变量。
      

  3.   

    运行结果就是10啊,楼主弄错了吧
    class Test{ int i=20; public void swap(){ 
      i=10; 
      System.out.println(i);

    public static void main(String args[]){ 
        
        Test t=new Test(); 
        
          t.swap(); } }