Вот скрипт (Scccc.groovy):Может ли groovy-скрипт наследовать от Java или Groovy-суперкласса?
import scriptParents.ScriptGroovyParent
println(queryThisBaby("my query"));
и вот суперкласс:
class ScriptGroovyParent {
public ScriptGroovyParent() {
// TODO Auto-generated constructor stub
}
// public String queryThisBaby(String query){
//
// return query +" was run.";
// }
def queryThisBaby(name) {
return name +" was run."
}
}
Я получаю сообщение об ошибке, хотя при попытке запустить скрипт.
Caught: groovy.lang.MissingMethodException: No signature of method: scripts.Scccc.queryThisBaby() is applicable for argument types: (java.lang.String) values: [my query]
groovy.lang.MissingMethodException: No signature of method: scripts.Scccc.queryThisBaby() is applicable for argument types: (java.lang.String) values: [my query]
at scripts.Scccc.run(Scccc.groovy:5)
Как это может быть?
спасибо, но как насчет @Override \t выполнения общественного объекта() { \t \t возвратного нуля; \t} из класса Script. –
Это завышено в скрипте. Скрипт (общий скрипт вообще), который создает оболочку и оценивает выражение в приведенном выше случае, всегда будет выполняться и запускаться под 'run()' из Script. Если вы хотите убедиться, что это всегда делается именно так, а не от родителя, чем объявлять 'ScriptGroovyParent' как' abstract'. @AlexMills – dmahapatro