java中关于继承的问题
2016-12-20 19:46
309 查看
先来看一道面试题:
java中关于继承的描述正确的是()
A、一个子类只能继承一个父类
B、子类可以继承父类的构造方法
C、继承具有传递性
D、父类一般具有通用性,子类更具体
正确答案: A C D
子类不可以继承父类的构造方法,只可以调用父类的构造方法。
子类中所有的构造函数都会默认访问父类中的空参数构造函数,这是因为子类的构造函数内第一行都有默认的super()语句。super()表示子类在初始化时调用父类的空参数的构造函数来完成初始化。一个类都会有默认的空参数的构造函数,若指定了带参构造函数,那么默认的空参数的构造函数,就不存在了。这时如果子类的构造函数有默认的super()语句,那么就会出现错误,因为父类中没有空参数的构造函数。
因此,在子类中默认super()语句,在父类中无对应的构造函数,必须在子类的构造函数中通过this或super(参数)指定要访问的父类中的构造函数。
PS:方法没有继承一说,只有重载和重写
java中关于继承的描述正确的是()
A、一个子类只能继承一个父类
B、子类可以继承父类的构造方法
C、继承具有传递性
D、父类一般具有通用性,子类更具体
正确答案: A C D
子类不可以继承父类的构造方法,只可以调用父类的构造方法。
子类中所有的构造函数都会默认访问父类中的空参数构造函数,这是因为子类的构造函数内第一行都有默认的super()语句。super()表示子类在初始化时调用父类的空参数的构造函数来完成初始化。一个类都会有默认的空参数的构造函数,若指定了带参构造函数,那么默认的空参数的构造函数,就不存在了。这时如果子类的构造函数有默认的super()语句,那么就会出现错误,因为父类中没有空参数的构造函数。
因此,在子类中默认super()语句,在父类中无对应的构造函数,必须在子类的构造函数中通过this或super(参数)指定要访问的父类中的构造函数。
PS:方法没有继承一说,只有重载和重写
相关文章推荐
- 关于“JAVA中为什么没有了多继承并出现了接口”这一问题引发的一些思考
- 关于java 中的继承问题
- 关于Java继承问题
- 关于Java继承一个值得思考的问题。
- Java中关于多重继承的问题
- 关于Java中子类能否继承和重写父类的静态方法问题
- java继承时候关于父类中的静态方法的问题
- Java中关于构造函数继承的相关问题
- 关于java继承和多态的问题
- 关于java内部类的继承的一个小问题
- 关于java中继承多接口实现其中同名方法的问题
- 关于java静态方法继承问题
- [转]关于java继承的private关键字问题
- JAVA中关于继承和隐藏的一个另类问题。
- 关于java中静态属性、静态方法的继承问题
- Java 关于中文乱码问题的解决方案与经验 (1)
- Java 关于中文乱码问题的解决方案与经验
- Java 关于中文乱码问题的解决方案与经验 (2)
- JAVA与C++::关于JNI中文字符串操作问题总结
- 关于JAVA import 的一个小问题