黑马程序员技术交流社区
标题:
return this 对象调用问题
[打印本页]
作者:
庄星睿
时间:
2012-6-10 19:54
标题:
return this 对象调用问题
看了一个程序,里面有一段大致是这个意思,刚一看差点蒙了
class ReturnTest
{
public int age;
public ReturnTest grow()
{
age++;
return this;
}
public static void main(String[] args)
{
ReturnTest rt=new ReturnTest();
rt.grow()
.grow()
.grow(); //对象的多次调用
System.out.println("rt的age Fileld是:"+rt.grow().age);
}
}
复制代码
结果是4
还得好好复习一下this调用那块啊,一遇到没见过的就挂了,唉
作者:
孙峰
时间:
2012-6-10 20:41
rt.grow() //创建一个本来的对象:rt,并且调用grow方法,age++,变成了1,并用 return this 返回改对象
.grow() //返回后的对象再次调用, age 变成了2,
.grow(); // age 变成了3.
如果打印语句是:
System.out.println("rt的age Fileld是:"+rt.age); 则输出结果:是3。
原程序中:System.out.println("rt的age Fileld是:"+rt.grow().age); 在打印的时候又一次的调用,所以 :结果是4.
还可以再次调用:System.out.println("rt的age Fileld是:"+rt.grow().grow().age); 那么结果就是 5.
this 的应用;当定义类中的函数时,该函数中可以用“this” 指调用该函数的对象。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2