Implicit super constructor Array() is undefin…

2019-10-31 05:57:19来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Implicit super constructor Array() is undefined for default constructor. Must define an explicit constructor

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

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

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

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
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:拒绝黑盒应用-Spring Boot 应用可视化监控

下一篇:你真的了解 volatile 关键字吗?