java面向对象2(4)this和super调用成员变量+成员方法

假装没事ソ 提交于 2020-02-26 15:39:10

​​​​​一.this和super关键字【阶段重点】

​​​​​1. 引言&概述

this :当前对象 

super当前父对象

两个关键字中保存的都是对象的地址值

 

2. this入门案例

 

this:当前对象 (this某个方法头上找)

 

 

3. super入门案例

 

super:当前父对象

 

小结:

如果没有加关键字,默认补上this关键字

 

this:当前对象 (方法头上找地址)

super:当前父对象(方法头上地址的 父亲)

 

如果没有加入this或super关键字,默认补this关键字

 

 

二.this和super详解【重点】

1.调用成员方法

  1. 调用当前对象中的成员方法:this.方法名(参数);

  2. 调用父对象中的成员方法:super.方法名(参数);

 

  • 若调用方法时未加this或者super关键字执行时

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.变量名;

 

 

 

 

请给努力中的自己点个赞哦!

每天进步一点点`~~~~~

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!