执行groovy脚本时出错
代码如下:执行groovy脚本时出错,groovy,groovy-console,Groovy,Groovy Console,代码如下: class Book { private String title Book (String theTitle) { title=theTitle } String getTitle() { return title } } Book gina=new Book('Groovy in Action') assert gina.getTitle()=='Groovy in Acti
class Book
{
private String title
Book (String theTitle)
{
title=theTitle
}
String getTitle()
{
return title
}
}
Book gina=new Book('Groovy in Action')
assert gina.getTitle()=='Groovy in Action'
assert getTitleBackwards(gina)=='noitcA ni yvoorG'
String getTitleBackwards(Book)
{
title=book.getTitle()
return title.reverse()
}
当我使用Ctrl+R执行is时,我得到以下编译错误
1编译错误:
类目簿的重复类定义无效:源 groovy至少包含类Book的两个定义。一个 类的类型是使用该类显式生成的类 语句,另一个是基于脚本体生成的类 在文件名上。解决方案是更改文件名或 类名。在第1行,第1列 谁能给我解释一下这里发生了什么事
PS.代码也几乎没有错误类目簿的无效重复类目定义: OP的代码列表包含两部分:
在同一个文件中定义Book类和客户端脚本的一种方法是重命名该文件,例如重命名为BookApp.groovy。警告:如果这样做,则只能从脚本文件中引用图书类型,groovy将不会自动找到图书类型,即使在类路径上找到了*.groovy文件。我尝试将文件名从Book.groovy更改为Book-Program.groovy,但仍然会出现如下错误。抛出异常java.lang.ClassFormatError:类文件Book程序$getTitleBackwards中的非法类名“Book程序$getTitleBackwards”将文件名更改为foo.groovy之类的名称,它就会工作。
String getTitleBackwards(Book)
也应该是String getTitleBackwards(Book)
。