突然间我意识到我可以写
class Person {
def String name
}
我的问题是 - 上面提供的代码和经典代码有什么区别:
class Person {
String name
}
为什么第一种形式甚至存在?
答案 0 :(得分:4)
没有区别。将def
添加到类型定义的开头不会做任何事情。但是,解析器允许它。
检查这样的东西的一种方法是启动groovyConsole,并运行AST浏览器(用于脚本)
class Person {
def String name
}
节目:
public class Person extends java.lang.Object {
private java.lang.String name
}