public class D {
String s;
public D(String s){
this.s=s;
}
}
class O extends D{
String s="D";
public static void main(String[] args) {
O o=new O();//此句有问题,O是D的子类,O在new对象时,隐式要调用super()父类的无参构造函数。而父类中只有有参数
public D(String s{this.s=s;},而没有无参构造函数了。所以就初始化不成功就报错了。
System.out.println(s);
}
}
解决方法在:public class D {
String s;
public D( ){}//加上此句
public D(String s){
this.s=s;
}
}
|