狂刷1000题~~1

1.一下程序的输出结果为:

class Base{
    public Base(String s){
        System.out.print("B");
    }
}
public class Derived extends Base{
    public Derived (String s) {
        System.out.print("D");
    }
    public static void main(String[] args){
        new Derived("C");
    }
}

编译错误!!!

解析:调用子类构造器之前,必须先调用父类构造器。如果子类中没有显示调用(方法为在子类第一行使用super())父类的构造器,就默认调用父类的无参构造器。

如果父类包含有参构造器,未提供无参构造器,则必须显示调用父类有参构造器,s在第一行使用super();

拼了命、尽了兴
原文地址:https://www.cnblogs.com/zj-phper/p/7617940.html