子类在实例化的时候会去调用父类的构造方法。
当然,在没有去父类在没有去指定任何的构造器的时候,
子类就会去调用父类的默认构造器。
但是你里的:- public Super(String s){
- i=1;
- }
复制代码 就是实现了对父类的默认构造器实现了重载,那么所谓的默认构造器
就不存在了。而你子类中的构造器:- public Demo(String s)
- {
- i=2;
- }
复制代码 没有去调用父类中的构造器,那就是相当于是要去调用父类中的默认构造器。
而这时的默认构造器因为被重载也就不存在了。所以才会报错。
那么要解决这个问题。要么要父类中将默认构造器写出来。
或者在子类的构造器中加上:这样就不会有错了! |