java中的this关键字
来源:互联网 发布:iphone8知乎 编辑:程序博客网 时间:2024/06/05 19:02
当成员变量和局部变量重名时,可以采用this关键字来进行区分。
this
指所在函数所属对象的引用,
通俗的将就是:那个对象调用了this所在的函数,this就代表那个对象
eg:
class Person{ int age; String name; Person(int age) { this.age=age; } Person(int age,String name) { this(age); this.name=name; } void speak() { System.out.println("name="+name+"\nage="+age); }}class Demo{ public static void main(String args) { Person p=new Person(18,"旺财"); }}
程序的执行流程如下:
第一步:
1.执行主函数,主函数进入栈,
执行Person p=new Person(18,”旺财”);语句。
为对象 p 在堆中分配空间进行默认初始化。
name=null;
age=0;
2.对象 p 调用构造函数
(前面说过this的作用:那个对象调用他,他就指向那个对象)
所以this指向了p的地址。
即:
this->0x0034 (此时this等价于对象p)
开始执行构造函数的函数体
执行this(age),构造函数Person(age)入栈
因为this()被构造函数Person(name,age)调用,构造函数被对象调用。
所以,此时的this仍然指向对象p (this->0x0034)
执行构造函数体:
this.age=age; //p.age=18;
3. 构造函数Person(age)执行完毕。弹栈。
执行 this.name=name; //p.name=”旺财”
构造函数Person(name,age)执行完毕,进行弹栈。对象初始化完毕。
p指向地址0x0034。
阅读全文
0 0
- java中的this关键字
- java 中的this关键字
- java中的this关键字
- java中的this关键字
- java中的关键字this
- java 中的关键字 this
- Java中的this关键字
- Java中的this关键字
- Java中的关键字“this”
- java中的this关键字
- JAVA中的this关键字
- Java中的this关键字
- Java中的this关键字
- JAVA中的This关键字
- Java中的this关键字
- java中的this关键字
- JAVA中的this关键字
- JAVA中的this关键字
- Android开发 之 确认凭证
- import moviepy 报错
- Java IOC和AOP解析
- 数位dp--cf96e Horse races
- swagger快速开发
- java中的this关键字
- 图片转成base64的字符串, 如何让图片在html中显示
- hammerJs 快速使用---入门教程
- [HackerRank 101 Hack 51] Small Cubes
- PostgreSQL 10 Beta 3 发布,和对所有受支持版本的安全修复
- leetcode 334. Increasing Triplet(三连) Subsequence
- Miller Rabbin 大素数测试
- SpringMVC异常处理使用@ControllerAdvice注释
- 移动端关于点击输入框,因字体变化,导致布局变形的问题