A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如果我没有创建对象呢?那this是指谁???就是如果我没有Students s=new Students();

5 个回复

倒序浏览
this和对象是同时存在的,不创建对象你根本访问不到this
this可以作为参数传递
回复 使用道具 举报
内存之中this其实是指向对象的地址,如果没有建立对象的话,就没有对应的地址!
显然这个时候this是没有具体指向的!可能在建立对象之后,this才会有具体意义!

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
this代表其所在函数所属对象的引用.换句话说,对象A给某个函数里面传值了,这个函数里面有两个同名变量,加了this那个变量,就是这个对象A的变量.

不定义对象,那么this的存在毫无意义,我认为this此时不存在指代关系.
回复 使用道具 举报
毕老师视频里值是这样讲的this关键字:

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

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

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

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

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

this的特点:

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

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

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

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

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
1.  Student s 在堆栈空间声明变量s
2.  new Student()创建一个Student的实例并在堆空间开辟一块区域存储其中有该对象的各种属性;在该对象内部才会存在this,它指向自身
3。 Student s=new Student()是将s指向对象
4.可以这样说,这个时候的通过s可以访问该对象,在调用该对象时也能使用this,this是随着它所属的对象的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马