this关键字

举报
@小红花 发表于 2022/02/25 12:54:02 2022/02/25
【摘要】 this是一个关键字,全部小写。一个对象就是一个this。this是一个变量,是一个引用。this保存当前对象的内存地址,指向自身。所以,严格意义上来说,this代表的就是当前对象。this存储在堆内存当中对象的内部。 this只能使用在实例方法中,谁调用这个实例方法,this就是谁this代表的是:当前对象this.大部分情况下是可以省略的。 为什么this不能使用在静态方法中?this代...

this是一个关键字,全部小写。

一个对象就是一个this

this是一个变量,是一个引用。

this保存当前对象的内存地址,指向自身。

所以,严格意义上来说,this代表的就是当前对象。

this存储在堆内存当中对象的内部。

 

this只能使用在实例方法中,谁调用这个实例方法,this就是谁

this代表的是:当前对象

this.大部分情况下是可以省略的。

 

为什么this不能使用在静态方法中?

this代表当前对象,静态方法中不存在当前对象。

 

方 法 区 
局 部 变 量 
实 例 变 是 
类 加 时 初 始 化 , 
方 法 执 行 过 程 中 
分 配 空 间 。 
对 象 创 建 时 . 
开 
分 配 空 间

 

java中有一个机制叫做就近原则

this可以使用在实例方法中,不能使用在静态方法中。

 

this关键字大部分情况下可以省略的,什么时候不能省略呢?

在实例方法中,或者构造方法中,为了区分局部变量和实例变量,

这种情况下:this,是不能省略的。

 

this除了可以使用在实例方法中,还可以用在构造方法中。

新语法:

通过当前的构造方法去调用另一个本类的构造方法,可以使用一下语法格式:

this(实例参数列表);

 

  • 通过一个构造方法去调用别的构造方法,可以做到代码复用。
  • 但需要注意的是:构造方法1和构造方法2必须在同一个类当中。
  • 对于this()的调用只能出现在构造方法的第一行,并且只能使用一次。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。