java中this引用通俗讲解

来源:百度知道 编辑:UC知道 时间:2024/07/05 01:37:11
比如说这个程序是怎么样运行的(加冒号):
import java.util.*;
public class Leaf
{
int i=0;
Leaf incroement()
{
i++;
return this;
}
void print()
{
System.out.println("i="+i);
}
public static void main(String[] args)
{
Leaf x=new Leaf();
::::x.incroement.incroement.incroement.print();
}
}

x.incroement.incroement.incroement.print();

x.incroement调用对象x的incroement(),i++执行后i=1,方法返回this(在这里也就是x),所以接下来
x.incroement.incroement依然是调用对象x的incroement(),i=2,返回this(还是x),同理
x.incroement.incroement.incroement依然是调用对象x的incroement(),i=3,返回this(还是x)
最后是调用print(); 也就是相当于x.print();输出i的值:i=3

返回this是返回自己本身的对象的引用

Leaf increment()
说明他返回是一个Leaf的对象
return this
返回的是调用此类的对象,在这里返回的是Leaf对象 就是它自身

对于这个程序,你可以去CSDN上看一看
http://topic.csdn.net/t/20051218/01/4465700.html