黑马程序员技术交流社区

标题: this 关键字使用的问题 [打印本页]

作者: 天蝎降降温    时间: 2014-10-3 00:53
标题: this 关键字使用的问题
本帖最后由 天蝎降降温 于 2014-10-3 18:58 编辑

this关键字除了可以指代一个对象,还可以指代一个类吗?这是怎么体现的。
作者: date1130    时间: 2014-10-3 08:46
在Java中,this通常指当前对象,super则指父类的。当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目的,当然,this的另一个用途是调用当前对象的另一个构造函数,这些马上就要讨论。如果你想引用父类的某种东西,则非super莫属。由于this与super有如此相似的一些特性和与生俱来的某种关系,所以我们在这一块儿来讨论,希望能帮助你区分和掌握它们两个。
在一般方法中
   最普遍的情况就是,在你的方法中的某个形参名与当前对象的某个成员有相同的名字,这时为了不至于混淆,你便需要明确使用this关键字来指明你要使用某个成员,使用方法是“this.成员名”,而不带this的那个便是形参。另外,还可以用“this.方法名”来引用当前对象的某个方法,但这时this就不是必须的了,你可以直接用方法名来访问那个方法,编译器会知道你要调用的是那一个。
作者: 黑马小菜菜    时间: 2014-10-3 10:05
楼上回答的好清晰,让我也重新温习了一遍。
作者: 北风    时间: 2014-10-3 11:19
本来我感觉我还比较清楚,知道如何使用。结果看了遍,把我弄晕了。。回去补补去
作者: 千里马    时间: 2014-10-3 11:39
this的作用有:1、表示当前对象;2、表示类中的属性;3、可以使用this来调用本类的构造方法
this:就代表本类的对象,简单说:哪个对象在调用this所在的函数,this就代表哪个对象。this的应用:当定义类中功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象。凡本类功能内部使用了了本类对象,都用this表示。
this语句 :用于构造函数之间进行互相调用。this语句只能定义在构造函数的第一行。因为初始化要先执行。
作者: tiancairc    时间: 2014-10-8 09:46
this的用法很多啊。比较普遍的就有三种用法:
1,this表示本类属性,在使用本类属性时,尽量养成习惯,这样做多以后的程序调试会有很大好处。例如:this.XX=XX;这样做的好处是保证程序万无一失。
2、this可以调用本类的的构造方法,要注意的是,如果一个类中有多个构造方法的话,可以用this关键字相互调用,但是必须放在构造方法的首行。
3、this表示当前对象。
作者: 琳以沫    时间: 2014-10-8 21:38
在回去翻翻,,笔记吧,,
作者: 838598737    时间: 2014-10-8 22:01
this关键字代表的是所属函数的调用者对象。


this关键字的作用:
        1. 如果存在着同名的成员变量与局部变量时,在方法内部默认是访问局部变量的,可以通过this关键字指定访问同名的成员变量。
        2. 在一个类的构造函数中调用其他的构造函数初始化对象。

this关键字调用其他 的构造函数要注意的细节:
        1. this关键字调用其他的构造函数的时候this关键字必须位于构造函数中的第一个语句。
        2. 使用this关键字调用构造函数的时候不能出现相互调用。因为是一个死循环来的。

作者: dsh    时间: 2014-10-9 12:11
记住一点   this 永远代表当前类的对象




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2