通过操作这个对象可以给本类内的属性赋值,以及操作本类内的方法。
this.i=i是在类内使用的,this.出现的i代表类内声明的成员i 而第二个=号后面的i一般都是在类内方法传参以后得到的也就是将传进来的i的值赋给类内声明了的成员i。
所以说this严格意义上讲是本类的对象。
怎么说呢,i = i++就是坑爹的!!理论上讲,语言规范上就不应该这么写。实际编译运算结果是 i = i++ 的话,最后i一直是原值,没有自增
i = i+1 ,很容易理解就是i的值增1,返回给i
而 i = i++ ,i ++ 理论上在运算完毕以后要自加的,这个自加应该是发生在赋值之前,于是i的临时新值是 i+1
运算符只有一个 ++,所以会直接使用赋值号把右侧运算结果赋值给 i,于是 i 还是等于原来的 i
底层源码没见过……,也大致就是感觉如此了
this的意思是指当前对象。例如方法talk中的this就是指对象leaf。
talk中的this.i是2。
传递的参数是11,
首先加载构造器输出2.
然后调用方法talk。
输出传入的参数11,
然后是对象的i,是2
然后让leaf的i=11,然后打印出来11.