「Apache Groovy」- java.lang.NoSuchMethodError: x.x.x: method ()V not found

  CREATE BY JENKINSBOT
原文链接:「Apache Groovy」- java.lang.NoSuchMethodError: x.x.x: method ()V not found
文章分类:「04.High-Level_Programming_Languages:6.Apache_Groovy:z.Error_List:NoSuchMethodError_method_init_V_not_found」
文章标识:「0bbe9790」

问题描述

在执行 Groovy 代码中,产生如下错误:

ava.lang.NoSuchMethodError: com.lispstudio.model.TeamLispstudio: method <init>()V not found

问题原因

在继承父类之后,没调用父类的构造函数。

解决方法

有两种解决方法:1)调用与父类相同的构造函数;2)使用 InheritConstructors 注解;

调用与父类相同的构造函数

class Creature {
    Creature (String feature) {}
}

class Humman extends Creature{
    Humman (String feature) {
		super(feature)
    } 
}

new Humman("legs")

使用 InheritConstructors 注解

class Creature {
    Creature (String feature) {}
}

@groovy.transform.InheritConstructors
class Humman extends Creature{
}

new Humman("legs")

参考文献

InheritConstructors (groovy 2.4.9 API)