您的位置:首页 > 编程语言 > Java开发

java中关于继承的问题

2016-12-20 19:46 309 查看
先来看一道面试题:

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

A、一个子类只能继承一个父类

B、子类可以继承父类的构造方法

C、继承具有传递性

D、父类一般具有通用性,子类更具体

正确答案: A C D

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

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

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

PS:方法没有继承一说,只有重载和重写
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息