类的继承是存在局限性的,一个 子类只能继承一个父类,可是能够多重继承,多重继承就是先让B类继承A类,以后再让C类继承B类。java
calss A{} //这是父类面试
class B extends Af{; //此时 B类具有了A的操做spring
class C extends B{}; //此时 C类有A类和B类的全部操做 设计模式
DEMO:多重继承微信
此时C类就继承了A类和B类的属性以及方法,其实上在实例化子类的时候会调用父类的构造方法(虽然子类不能继承父类的构造方法,可是在实例化子类的时候会默认调用),并且默认调用的是无参构造方法。分布式
DEMO:调用父类的构造方法学习
经过上面的错误提示就能够知道实例化子类的时候必定要先调用父类的构造方法,默认调用的是无参数构造方法,此时若是提供了有参数构造方法,那么咱们要将无参数构造方法显示的定义。设计
DEMO:无参构造方法调用3d
知道了实例化子类的时候须要调用父类的无参构造方法,若是要调用父类的有参数构造方法呢?此时须要使用到一个新的关键 字“superorm
DEMO:调用有参数构造方法
以上就是构造方法在子类和父类之间调用的关系,你要清楚。
一、继承有单继承的局限(一个子类只能有一个父类),可是能够多重继承
二、在实例化子类的时候会先调用父类的构造方法(默认调用的是无参数构造,若是要调用有参数构造须要使用关键字super实现)
三、若是是多重继承,那么实例化子类的时候最早调用的是最高父类的构造方法,依次往下
有完整的Java初级,高级对应的学习路线和资料!专一于java开发。分享java基础、原理性知识、JavaWeb实战、spring全家桶、设计模式、分布式及面试资料、开源项目,助力开发者成长!
欢迎关注微信公众号:码邦主