当前位置 > it书童 > java > 正文

java 父子类的构造方法调用

java it书童 2020-08-08 13:19:03 1赞 0踩 267阅读 0评论

继承关系中,父子类构造方法的访问特点:

  1. 子类构造方法当中有一个默认隐含的“super()”调用,所以一定是先调用的父类构造,后执行的子类构造。

  2. 子类构造可以通过super关键字来调用父类重载构造。

  3. super的父类构造调用,必须是子类构造方法的第一个语句。不能一个子类构造调用多次super构造。

Father 类

public class Father {
    public Father() {
        System.out.println("父类无参构造");
    }
    public Father(int num) {
        System.out.println("父类有参构造");
    }
}

Son 类

public class Son extends Father {
    public Son() {
        // 必须是第一个调用语句
        // 即使不写 super() 也会自动调用 super()
        super();

        // 只能有一个 super
        // super(20); // 报错
        System.out.println("子类构造方法");
    }

    public void method() {
        // 只能在子类构造方法中调用父类的构造方法
        // super(); // 报错
    }
}

调用

public static void main(String[] args) {
  Son son = new Son();
  // 父类无参构造
  // 子类构造方法
}

总结:子类必须调用父类构造方法,不写则赠送super();写了则用写的指定的super调用,super只能有一个,还必须是第一个。

关于我
一个文科出身的程序员,追求做个有趣的人,传播有价值的知识,微信公众号主要分享读书思考心得,不会有代码类文章,非程序员的同学请放心订阅
转载须注明出处:https://www.itshutong.com/articles/551/java-parent-child-class-construction-method-call