| 
 
| class A {
 
 A(int a){System.out.println(a);}
 }
 
 class B extends A
 {
 B(){System.out.println("I'm B");}
 B(int a){System.out.println(a);}
 }
 
 class Test
 {
 public static void main(String[] args){
 B b = new B(100);
 }
 }
 
 这段代码中,如果在B()的无参构造函数那里不写super语句就会编译出错,为什么?不懂的原因:main函数中调用的是B的带参的构造函数,也用super语句了,应该和B()的无参构造函数无关吧,但是为什么B()无参构造函数不写super会编译出错?
 | 
 |