java中关于继承的问题

先来看一道面试题:

java中关于继承的描述正确的是()

A、一个子类只能继承一个父类
B、子类可以继承父类的构造方法
C、继承具有传递性
D、父类一般具有通用性,子类更具体

正确答案: A C D


子类不可以继承父类的构造方法,只可以调用父类的构造方法。

子类中所有的构造函数都会默认访问父类中的空参数构造函数,这是因为子类的构造函数内第一行都有默认的super()语句。super()表示子类在初始化时调用父类的空参数的构造函数来完成初始化。一个类都会有默认的空参数的构造函数,若指定了带参构造函数,那么默认的空参数的构造函数,就不存在了。这时如果子类的构造函数有默认的super()语句,那么就会出现错误,因为父类中没有空参数的构造函数。

因此,在子类中默认super()语句,在父类中无对应的构造函数,必须在子类的构造函数中通过this或super(参数)指定要访问的父类中的构造函数。

PS:方法没有继承一说,只有重载和重写

阅读更多

扫码向博主提问

qinjianhuang

博客专家

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • 机器学习
  • Java
  • Python
  • 数据清洗
  • 数据挖掘比赛
去开通我的Chat快问
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/53767724
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭