前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java语言核心----面向对象之this关键字

java语言核心----面向对象之this关键字

作者头像
哲洛不闹
发布2018-09-19 10:27:03
2730
发布2018-09-19 10:27:03
举报
文章被收录于专栏:java一日一条java一日一条

一.this关键字

体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别;在构造函数中调用其它构造函数 原理: 代表的是当前对象。 this就是所在函数的所属对象的引用。 简单说,哪个对象调用了this关键字所在的函数,this就代表哪个对象。

1.区别局部变量和成员变量

内存图解:

说明:

  1. 程序执行到main函数时,main函数进入栈内存中的方法区, 执行到Person p = new Person(“旺财”);时, 在main方法区中创建一个Person类型的引用变量p
  2. 接着,在堆内存中创建一个Person类的实例,并初始化,然后调用构造函数,在栈内存中创建一个Person(String name)函数的方法区,对象一调用构造函数,构造函数的方法区中就会有一个this引用指向该对象
  3. 执行Person(String name)中的代码,把this所指向的对象进行初始化,执行完成后,Person方法区出栈
  4. 给栈中main方法区中的p赋值,使之指向this所指向的对象
  5. 执行speak方法,speak方法进入方法区,打印的是this所指向对象的name和age

2.在构造函数中的使用

详见 另一篇博客[java学习笔记]java语言核心----面向对象之构造函数 中的标题4:构造函数的相互调用

3.this的应用

只要在本类中使用本类的对象,一般都使用this关键字 如:在Person类中增加一个比较年龄的方法

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java一日一条 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.this关键字
    • 1.区别局部变量和成员变量
      • 2.在构造函数中的使用
        • 3.this的应用
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档