狂刷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();
拼了命、尽了兴