关于JAVA中this关键字的指向问题

关于JAVA中this关键字的指向问题

在我刚开始学习JAVA时,JAVA中的this关键字给了我很大的疑惑,最终在网络上搜索了很久才弄明白this的用法,不得不说学习的过程中总是有一些挑战,幸亏有网络,感谢国家优秀的网络环境。闲话不多说,直接开始解释this关键字的指向问题。

先来看一段简单的代码

关于JAVA中this关键字的指向问题_第1张图片

这是一段非常简单的代码,在构造方法中出现了this.name=name这种写法。有些人可能非常不解,为什么构造方法的形参和私有属性名一模一样,这段语句到底是什么意思,很显然没有弄懂this的意义就会有这种疑问。大家可能学过计算机网络,计算机网络这门课程中讲过一个特殊的地址:0.0.0.0。这个地址就类似于this的作用,进来的是什么地址,这个0.0.0.0就是什么地址。同样的,这个this指向的就是当前对象,表示的是你使用的当前对象。上面的代码我在构造函数中输出了对象的地址,通过main方法new两个实例对象,看看它们的地址。

关于JAVA中this关键字的指向问题_第2张图片

输出的结果如下

关于JAVA中this关键字的指向问题_第3张图片

很显然两个对象的地址不同,我是使用this在无参构造中输出对象的,这也可以说明this指向的是当前对象,指向的是你使用的对象。你使用的是哪个实例对象,那么this就指向的是哪个实例对象。

你可能感兴趣的:(java)