DESKTOP-QUF3J7K_20200831-柴宁宁

问题:

7、以下程序的输出结果为:

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")
    }
}

编译错误 ,

1、子类构造方法执行时首先会调用父类构造方法

2、如果某个构造方法内部没有显式书写super( 参数 ) 调用父类构造,则编译器会添加super()

3、如需调用父类中指定构造方法,可通过传递参数来实现

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

}
输出:

BD

吐槽:

早中晚 天气不正经,

写的真爽。