美文网首页
2020-01-14 Java中父类与子类的构造器调用和私有变量

2020-01-14 Java中父类与子类的构造器调用和私有变量

作者: 很菜的花椰菜 | 来源:发表于2020-01-14 15:01 被阅读0次

    子类可以继承父类所有的变量和方法,但是有没有想过子类为何能继承它们,它们是凭空继承而来的么?当然不是,其实每当调用子类构造器new一个子类对象的时候,都要先调用父类的构造new一个父类对象,父类对象隐式的存在于子类中,子类是这样继承父类的变量和方法的,以我中有你的方式,所以子类构造器都必须显示或者隐式调用父类构造器,如果不能调用则该子类无效。另外还要补充的一点是,子类构造器调用父类构造器的方式类似于递归,也就是说子类先调用父类,然后父类再调用它的父类,以此类推一直到一个没有父类的类为止,最先用这个没有父类的类的构造器生成对象,再依次往子类方向生成对象。

    tip:
    子类构造器中默认调用的是父类中的无参构造器,当父类构造器没写或者只有无参构造器时,子类构造器写不写父类的构造器都行;
    当父类中只有有参构造器时,则子类构造器中必须指明父类构造器;
    当父类中有无参构造器又有有参构造器时,子类构造器中若不写则是默认调用父类无参构造器,若要调用父类有参构造器则需要指明。

    相关文章

      网友评论

          本文标题:2020-01-14 Java中父类与子类的构造器调用和私有变量

          本文链接:https://www.haomeiwen.com/subject/pghaactx.html