一.this和super关键字【阶段重点】
1. 引言&概述
this :当前对象super:当前父对象两个关键字中保存的都是对象的地址值。 |
---|
2. this入门案例
this:当前对象 (this某个方法头上找)
3. super入门案例
super:当前父对象
小结:
如果没有加关键字,默认补上this关键字this:当前对象 (方法头上找地址)super:当前父对象(方法头上地址的 父亲)如果没有加入this或super关键字,默认补this关键字 |
---|
二.this和super详解【重点】
1.调用成员方法
Java会自动在方法名前补齐this. |
---|
注意:
程序使用this调用方法的步骤:1、程序会首先判明this表示哪个对象;2、再去对象中寻找并执行方法3、找不到就找父类(父类都找不到,就找父类的父类,如果整个继承树都找不到,就报错) |
---|
强化练习:
this:当前对象, 方法调用过程中,不会变super:当前父对象。如果某个方法调用时,没有加this或super,默认补this方法调用时: 当前对象找不到----》父----》父的父—整个继承树如果都找不到,会报错 |
---|
2.调用成员变量
this:当前对象 (去当前类中,找成员变量)
super:当前父对象 (去父类中,找成员变量)
-
局部变量:直接使用变量名
寻找路径(局部====)当前类成员变量====》父类成员变量====> )
如果整个继承树都找不到,会报错
-
当前类成员变量:this.成员变量名
寻找路径(当前类成员变量====》父类成员变量====> )
如果整个继承树都找不到,会报错
-
父类成员变量:super.成员变量名
寻找路径(父类成员变量====> )
如果整个继承树都找不到,会报错
强化练习:
-
局部变量: 直接写变量名
-
当前类的成员变量:this.成员变量名
-
父类的成员变量:super.成员变量名
今日总结:
This 和super的辨别使用: this 看原先的this.mas().访问属性:看this 的代码在哪个类中,访问的就是这个类中的属性看所处的.this.name=name 访问方法:看new 的哪个对象,就是访问这个对象中的方法super访问属性.方法:都是 访问父类属性和方法this和super
this:当前对象 (地址)super:当前类父对象 (地址)this和super可以调用成员方法、成员变量、构造方法:成员方法:(分析地址)当前对象的成员方法:this.方法名()父对象的成员方法:super.方法名();成员变量:(类)局部变量:直接写变量名本类成员变量:this.变量名;本类父类成员变量:super.变量名; |
---|
请给努力中的自己点个赞哦!
每天进步一点点`~~~~~
来源:oschina
链接:https://my.oschina.net/ithuang/blog/3168366