浅谈 java中this关键字和super关键字

在学习java面向对象的模块的时候我们会遇见this和super这两个关键字,首先来说this关键字,我们可以把this关键字看成是当前正在访问的对象,this关键字有三种用法:
(1)this.属性名 (2)this.方法 (3)this(参数列表) 调用本类的构造方法
关于这几个用法我们分别举一个例子来看:
(1)this.属性名 如图所示:
在这里插入图片描述
this.gender和this.name指的是当前对象的属性而没有this的gender和name则是形参。
(2)this.方法 如图所示:
在这里插入图片描述
这里是this调用toString()方法,当然this可以省略不写。
(3)this(参数列表) 如图所示:
在这里插入图片描述
这里需要注意的是this()需要写在方法的第一行,因为初始化动作要先执行。

super关键字:在Java中用super关键字引用父类的成分,同样也是三种用法:
(1)super关键字可以访问父类定义的属性
(2)super关键字可以调用父类定义的成员方法
(3) super关键字可以在子类的构造方法中调用父类的构造方法
这是一个子类Dog中重写的sound()函数调用父类Animal中sound()函数的例子,假如不写super关键字会导致系统无限循环调用自身的sound()。
在这里插入图片描述在这里插入图片描述
再来一个super关键字在子类的构造方法中调用父类的构造方法的例子吧。
在这里插入图片描述
子类Dog的对象调用父类Animal中的构造函数。
在这里插入图片描述
默认父类中的构造函数会调用Object中的无参构造函数,在子类的构造函数中必须调用父类的构造函数,如果不写就会默认调用父类中无参的构造函数,因此最好我们不管在写父类还是子类构造函数的时候都需要写好无参的构造函数,如若不写,有可能在子类默认的调用无参构造函数的时候报错。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值