在groovy类中的“def Type”声明

时间:2012-11-13 20:32:40

标签: groovy

突然间我意识到我可以写

class Person {
     def String name
}

我的问题是 - 上面提供的代码和经典代码有什么区别:

class Person {
   String name
}

为什么第一种形式甚至存在?

1 个答案:

答案 0 :(得分:4)

没有区别。将def添加到类型定义的开头不会做任何事情。但是,解析器允许它。

检查这样的东西的一种方法是启动groovyConsole,并运行AST浏览器(用于脚本)

class Person {
     def String name
}

节目:

public class Person extends java.lang.Object { 

    private java.lang.String name 

}