Groovy - 类名必须以强制大写字母开头?

时间:2016-04-08 21:59:24

标签: groovy

编辑:我正在简化这个问题,因为我的选票没有得到答案

我从Windows上的命令行调用一个groovy脚本(groovy ClassIssue.groovy) Groovy版本2.4.5 JVM 1.8.0_51

还在使用Groovy 2.4.6的Linux上进行了测试

为什么这样做:

class Person {
  String name
  Person() {}
}

Person p = [name: 'Jahg']

但这不是:

class person {
  String name
  person() {}
}

person p = [name: 'Jahg'] // this line throws an exception

唯一的区别是课程以小写字母开头。

1 个答案:

答案 0 :(得分:0)

(应该是评论,使用答案进行格式化)

Groovy编译器将很多meta programming magic转换为将脚本/ groovy类转换为JVM的Java类。处理属性和方法有相当多的规则。

您当前的脚本首先成为一个类。其名称源自scriptname。在该类中,为mc分配了数组。

mc = ['123', 'Jahg']

然后它变成对方法myClazz

的调用

当您使用大写字母命名该类时,此

myClazz mc

由于没有myClazz方法

而失败