1 使用
如下图,main方法中默认把类的实例化对象传给了实例方法(run),在实例方法(run)中用this表示,打印对象c的地址和实例方法中打印this的地址是相同的。如下:
- 另外注意点:先赋值实例变量再调用方法 和 先调用方法再给实例变量赋值 结果是不一样的(效果如下图)。
2 this可以帮我们区分实例变量和局部变量:
- this省略不写时,先找方法里面的局部变量中同名的变量,方法中没有局部变量则默认是找实例变量
- 所以,想明确调用实例变量时,应该得加上this更好,代码可读性也更好(易于区分局部变量和实例变量)
- 另外,如果方法中不定义局部变量,而是在参数中传过来一个跟实例变量同名的变量,没有this时,则这个变量调用的是参数中的变量。(但是加上this的话他就是指向实例变量)
(以上例子和部分截图均来自B站“老男孩IT教育”的视频)