因为你的父类已经创建了一个带参的构造函数并且父类中没有无参的构造函数,此时编译器不会为你调用默认的构造函数,

所以子类在继承父类的时候需要在自己的构造函数中显式的调用父类的构造函数,这样才能确保子类在初始化前父类会被实例化。

若果父类中有无参的构造方法,子类中就不做要求,编译器会默认帮你自动调用无参的构造。(黑体字代表构造方法)

package ssm;

public class Array {
private int arr[];
private int index;

public Array(int len) {
if (len > 0) {
this.arr = new int[len];
} else {
this.arr = new int[1];
}
}

public boolean add(int i) {
if (this.index < this.arr.length) {
this.arr[index] = i;
index++;
return true;
} else {
return false;
}
}

public int[] getArray() {
return this.arr;

}
}

 

package ssm;

public class ReverseArray extends Array {

public ReverseArray(int len) {
super(len);
}

}

 

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/wangffeng293/p/11769442.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!