JAVA中的this和super关键字

this关键字

this代替的是当前调用方法属性时的那个对象,不一定是当前类的对象(在多态中体现)。在这里插入图片描述
可以简单的认为,谁调用它(属性或者方法),this 就是谁。多态中体现出来的 this 不一定是当前类的对象。拿图中的来讲。就是:我有一个 Animal 对象 animal。我用这个 animal 对象调用了 show 方法。理应是调用了 Animal 类中的 show 方法。但是由于多态,animal 实际上调用的是 Person 类的 show 方法。

super 关键字

super 和 this 一样是指代次,代替的是对象
用 super 关键字可以调用父类的属性和方法
super代替的是当前执行方法时的对象的父类对象。在这里插入图片描述
this 和 super 都能调用一般属性和一般方法,但是要注意,在调用一般方法的时候,不可以来回互相调用。虽然写法上和编译上没问题,但运行时,会出现栈溢出错误。在这里插入图片描述
super可以调用构造方法(放在构造方法的第一行),构造方法之间不能来回互相调用在这里插入图片描述

子类继承父类,在创建子类对象的时候,会先加载父类。在子类的构造方法中,会默认添加一行 super() 来调用父类的无参构造方法。如果显式的加上 super(可以写参数也可以不写); 默认的 super() 就没有了。比如在 Person 的无参构造方法里,在第一行显式地写上 super(“zhang3”,18); 那么就会调用父类的有参构造方法,而父类的无参构造方法就不会被调用了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值