java继承 以及 super与this的区别

本文详细讲解了如何在Java中通过super关键字调用父类构造方法,区分this和super在访问属性时的作用,以及在创建子类实例时构造方法的调用顺序。重点涵盖了无参和带参构造的使用,以及继承属性的获取方式。
摘要由CSDN通过智能技术生成
  • 父类中如果没有定义任何构造方法或者只有一个无参构造方法,此时new一个子类的实例,就会调用父类的无参构造,子类不需要显示的调用;
  • 如果父类中有一个或多个带参构造方法,此时如果new一个子类的实例,就需要显示的调用父类的构造方法并进行传参,否则无法创建父类实例,会编译出错;
  • 使用super关键字就能够调用父类的构造方法;
  • 创建子类实例时,先调用父类构造方法,再调用子类构造方法,并且super()必须放在第一行。

super 与 this 的区别

  • 如果子类中的一个属性是从父类继承过来的,既可以使用  this.属性名  获取,也可以使用  super.属性名  获取,获取到的是同一个属性;
  • 如果一个属性只在子类中存在,那就不能通过super访问,只能通过this访问;
  • 如果父类和子类有相同的属性,那么通过this访问子类属性,通过super访问父类属性。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值