1.当创建子类对象时,不管使用子类哪个构造器,默认情况下总会去调用父类的无参构造器,如果父类没有提供无参构造器,则必须在子类的构造器中用super去指定使用父类的哪个构造器完成对父类的初始化工作,否则编译不会通过。
2.java中所有类都是Object的子类,Object类是所有类的基类
3.父类构造器的调用不仅仅限于直接父类,将一直追溯到Object类。

在Java中使用子类构造器的时候默认会调用父类构造器,如果父类没有提供无参构造器,则需要用super指定使用父类的构造器完成对父类的初始化工作,如果未完成对父类的初始化工作会报错!
通过以下代码加深对继承中调用子类构造器的过程理解:

class Main{
    public void static main(String[] args){
        Son son = new son();
    }
}
class father{
    father(){
        System.out.println("父类无参构造器被调用!");
    }
    father(String name){
        System.out.println("父类有参构造器被调用");
    }
}

class Son extends father{
    Son(){
        System.out.println("子类无参构造器被调用");
        this("test");
    }
    Son(String name){
        super();//该语句不写被隐藏同样会调用父类无参构造器。
        System.out.println("子类有参构造器被调用"+name);
    }
}

//输出结果自己运行以下即理解了继承中调用子类构造器的作用机制