Java中的this和super

本文介绍了Java中this和super的用法。this用于引用当前对象,super则用于引用父类对象。它们分别在直接引用成员、形参同名时区分、调用构造函数等场景中有不同的应用。this和super不能在同一个构造器中同时使用,且不能在static环境中出现。
摘要由CSDN通过智能技术生成

  在Java中使用this引用当前对象,使用super引用父类的对象。
  this代表对象本身,指向自己的引用,可以使用this来调用属性,调用方法,利用this表示当前对象。
可以把this理解为指向对象本身的一个指针。
  this的用法分为3种:

  • 直接引用:用this访问当前对象的成员
    在这里插入图片描述
  • 形参与成员名字同名时,用this区分
    在这里插入图片描述)
    运行结果:this.sum = 8,this.name = 男生,形参sum = 10,形参name = 女生
  • 引用构造函数
    在这里插入图片描述
    运行结果:8个男生
      super可以理解为指向自己超类对象的一个指针,超类就是当前类的直接父类。
      super的用法分为3种:
  • 直接引用:用super访问父类对象的成员
    在这里插入图片描述
    运行结果:this.sum = 8 this.name = 男生 ,super.sum = 8 super.name = 男生
  • 父类与子类存在同名的成员时,用super调用父类的成员
    在这里插入图片描述
    运行结果:
    在这里插入图片描述
  • 引用构造函数
    在这里插入图片描述
    运行结果:10个女生

  上面的几种用法中,this和super的前两种用法比较简单,就第三种用法有一些需要注意的地方。根据需要我做了以下几个总结:[ ]代表可写可不写
  this:指向自己的引用,代表当前对象名(当构造器或方法的形参和成员数据同名时,可以通过this来指向成员变量名)。
  super:可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类(当父类与子类有同名的方法时,可以通过super来指向父类的方法)。
  this([形参列表]):调用本类中的另一个构造函数(应为构造函数中的第一条语句)。
  super([形参列表]):调用父类的某一个构造函数(应为构造函数中的第一条语句)。
  this()和super()不能出现在同一个构造器中,且同一个构造器只能有一条调用其他构造器的语句,这条语句必须放在构造器的第一行。
  this和super都指的是对象,所以,均不能再static环境下使用。
  从本质上讲,this是一个指向对象本身的指针,而super是Java关键字。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值