java吧 关注:1,249,420贴子:12,730,947
  • 3回复贴,共1

求教一个关于变量引用的问题

只看楼主收藏回复

class Myf1
{int i=99;
public static void main(String[] args) throws IOException
{
Myf1 r=new Myf1();
r.amethod(r);
}
public void amethod(Myf1 r)
{
multi(r);
System.out.println(i);
}
public void multi(Myf1 r)
{
r.i=r.i*2;
}
}
在中间那个amethod方法里的Syste.out.println(i),那个地方为什么不需要用r.i,直接用i也可以引用到传入该方法的对象r??


1楼2013-03-08 07:02回复
    i是全局的变量吧?肯定不用引用


    来自手机贴吧2楼2013-03-08 07:25
    回复
      System.out.println(i);
      其实完整的写法是System.out.println(this.i);
      这里的i不是传入给r.amethod的r的i,而是在main()里面创建的实例r的i
      这里容易搞混的原因是,main首先创建了一个r,然后又把这个r传回给了r自己的一个方法amethod


      IP属地:澳大利亚3楼2013-03-08 07:32
      收起回复