黑马程序员技术交流社区

标题: this指的是本对象,当前编写的类实例化后所产生的对象。 [打印本页]

作者: 可见    时间: 2012-3-12 18:51
标题: this指的是本对象,当前编写的类实例化后所产生的对象。
如果我没有创建对象呢?那this是指谁???就是如果我没有Students s=new Students();
作者: 宋洪祥    时间: 2012-3-12 18:55
this和对象是同时存在的,不创建对象你根本访问不到this
this可以作为参数传递
作者: 倪鹏博    时间: 2012-3-12 19:07
内存之中this其实是指向对象的地址,如果没有建立对象的话,就没有对应的地址!
显然这个时候this是没有具体指向的!可能在建立对象之后,this才会有具体意义!
作者: 张昊镭    时间: 2012-3-12 19:34
this代表其所在函数所属对象的引用.换句话说,对象A给某个函数里面传值了,这个函数里面有两个同名变量,加了this那个变量,就是这个对象A的变量.

不定义对象,那么this的存在毫无意义,我认为this此时不存在指代关系.
作者: 潘许超    时间: 2012-3-12 19:42
毕老师视频里值是这样讲的this关键字:

构造函数可以被私有化,如果类中所有的构造函数都私有化的话,那样这个类是不会创建对象的因为对象是不可能进行初始化动作的

如果定义一个局部变量会首先使用局部的变量,然后在调用成员变量。

this的用法,看上去是用于去区分局部变量和成员变量同名的情况。

this为什么可以解决这个问题呢?this到底代表什么呢?this就代表本类的对象。到底哪一个呢?this代表他所在函数所属对象的引用

简单说,那个对象在调用this所在的函数,this就代表那个对象

this的特点:

this关键字的基本应用:当个义类中功能时,还函数内部要用到调用该函数对象是,这时用this代表这个对象。

但凡本类功能内部使用到了本类对象,都用this表示。

构造函数间互相调用需要this来实现。this(name);用的时候需要相对应的参数来实现。

注意:this语句只能定义在构造函数的第一行。初始化的动作要先执行,初始化中还有初始化的话要先执行初始化中的初始化。

作者: 和心愿    时间: 2012-3-12 19:57
1.  Student s 在堆栈空间声明变量s
2.  new Student()创建一个Student的实例并在堆空间开辟一块区域存储其中有该对象的各种属性;在该对象内部才会存在this,它指向自身
3。 Student s=new Student()是将s指向对象
4.可以这样说,这个时候的通过s可以访问该对象,在调用该对象时也能使用this,this是随着它所属的对象的




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