Java核心技术卷一 -第五章:super关键字

本文详细介绍了Java中super关键字的使用,特别是在子类构造器中调用超类构造器的应用。通过实例解析了如何通过super调用超类的构造器初始化私有字段,并强调了构造器中this和super的使用规则。同时,文章提醒读者,若子类构造器未显式调用超类构造器,Java会默认调用超类无参构造器,否则将导致编译错误。
摘要由CSDN通过智能技术生成

系列文章目录

Java核心技术卷一 -第一章:java“白皮书”的关键术语
Java核心技术卷一 -第三章:数据类型
Java核心技术卷一 -第三章:变量与常量
Java核心技术卷一 -第三章:运算符
Java核心技术卷一 -第三章:字符串
Java核心技术卷一 -第三章:输入与输出
Java核心技术卷一 -第三章:数组
Java核心技术卷一 -第四章:类之间的关系-依赖
Java核心技术卷一 -第四章:预定义类-LocalDate类小应用
Java核心技术卷一 -第四章:构造器
Java核心技术卷一 -第四章:null引用
Java核心技术卷一 -第四章:方法参数
Java核心技术卷一 -第四章:对象构造
Java核心技术卷一 -第五章:覆盖方法与super


前言

接前一篇讲到的有关“super”的内容,继续补充

一、super

接上一个例子,我们来提供一个构造器。

public Manager(String name,double salary,int year,int month,int day)
{
super(name,salary,year,month,day);
bonus =0;
}

这里的关键字super具有不同的含义。语句

super(name,salary,year,month,day);

是“调用超类Employee中带有n、s、year、month和day参数的构造器”的简写形式。
由于Manager类的构造器不能访问Employee类的私有字段,所以必须通过一个构造器来初始化这些私有字段。可以利用特殊的super语法调用这个构造器。使用super调用构造器的语句必须是子类构造器的第一条语句。
如果子类的构造器没有显式地调用超类的构造器,将自动地调用超类的无参数构造器。如果超类没有无参数的构造器,并且在子类的构造器中又没有显式地调用超类的其他构造器,Java编译器就会报告一个错误。

注释:回想一下,关键字this有两个含义:一是指示隐式参数的引用,二是调用该类的其他构造器。类似地,super关键字也有两个含义:一是调用超类的方法,二是调用超类的构造器。在调用构造器的时候,this和super这两个关键字紧密相关。调用构造器的语句只能作为另一个构造器的第一条语句出现。构造器参数可以传递给当前类(this)的另一个构造器,也可以传递给超类(super)的构造器。

总结

以上就是本文的内容,记录了一些关于java“关键字‘super’”的内容,本人也是刚开始接触java,不能保证总结内容的正确性,若是有错误的话,欢迎大家指出,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luodiab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值