考考你对super的理解(高手进进进)
A. class A { }
class B extends A { }
B. class A { }
class B extends A { B( ) {} }
C. class A { A( ) { } }
class B { public B( ) {} }
D. class Z { public Z(int) {} }
class A extends Z { }
在不用软件的情况下你知道上面哪个会编译错误吗? 为什么
------解决方案--------------------D. 没有缺省构造函数。
------解决方案--------------------D.
创建一个子类的对象实例的时候,必先调用父类的无参数的构造函数(默认构造函数)
D中父类的是 public Z(int),子类将找不到无参数的构造函数,编译则会出错.
加个SUPER(int);就好了
------解决方案--------------------加上super(int);恐怕红得更厉害喵~~``
------解决方案--------------------肯定是d,子类得调用父类无参构造器,若父类中已经有有参构造器,则不会自动生成无参构造其