|
|
1
148
出现此错误是因为没有构造函数的类具有 违约
这可能有点违反直觉,因为您可能认为子类自动具有基类所具有的任何构造函数。 解决这一问题的最简单方法是基类不声明构造函数(因此具有默认的无参数构造函数)或声明无参数构造函数(无论是自身还是与任何其他构造函数一起)。但这种方法通常无法应用,因为您需要将任何参数传递到构造函数中,以构造类的合法实例。 |
|
|
2
51
对于那些在谷歌上搜索这个错误并到达这里的人来说:可能还有另一个接收它的原因。当项目设置-系统配置不匹配时,Eclipse会出现此错误。
例如,如果您将Java1.7项目导入Eclipse,但没有正确设置1.7,则会出现此错误。那你可以去
|
|
|
3
8
这是可能的,但不是你拥有它的方式。 您必须向基类添加一个无参数构造函数,就这样!
当您不向类添加构造函数(any)时,编译器会为您添加默认的no-arg构造函数。 当defualt no arg调用super()时;因为你在超类中没有它,你会得到错误信息。 这是关于它自己的问题。
您是否知道创建一个子类(行为)来指定不同的值(数据)是没有意义的??!!!我希望你能。 如果唯一改变的是“名称”,那么一个参数化的类就足够了! 所以你不需要这个:
或
当您可以写下以下内容时:
这就是为什么继承是创建高耦合的工件,这在OO系统中是不受欢迎的。应该避免这种情况,或者用构图代替。 如果您真的需要它们作为子类,请思考。这就是为什么您经常看到使用insted的接口:
在这里,B和C可以从A继承,而A会在它们之间创建一个非常高的耦合,通过使用接口,耦合会减少,如果A决定不再是“名称感知”的,其他类就不会中断。 当然,如果您想重用行为,这是行不通的。 |
|
|
4
4
如果未设置JRE,也可能会出现此错误。如果是,请尝试添加 JRE系统库 你的项目。
|
|
|
5
2
另一种方法是调用super(),将所需参数作为派生类构造函数中的第一条语句。
|
|
|
6
1
我已将上述问题解决如下:
|
|
7
0
如果在子类构造函数中没有调用超级类构造函数作为第一条语句,Eclipse将给出此错误。 |
|
|
8
0
|
|
|
9
0
简短答复: 在base/parent/super类中添加一个没有参数的构造函数。i、 e例如,
//在父类中,您可以根据需要使用任何其他构造函数。 如果一个超类没有无参数构造函数,那么您将得到编译时错误。对象确实有这样的构造函数,所以如果对象是唯一的超类,那么就没有问题了。 //那我们继承吧
对于super(),调用一个超类无参数构造函数;对于super(参数列表),调用一个具有匹配参数列表的超类构造函数。 |
|
|
10
0
下面是一个简单的例子
|
|
|
11
-1
可以通过向基类添加无参数构造函数来解决此错误(如下所示)。 干杯。
|
|
|
12
-1
我有这个错误,并通过将抛出的异常从方法旁边移除到try/catch块来修复它 例如: 发件人:
|
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |