Types Groovy中单个变量的两个类型声明?

Types Groovy中单个变量的两个类型声明?,types,groovy,gradle,Types,Groovy,Gradle,在阅读Gradle插件教程时,我浏览了以下代码: apply plugin: GreetingPlugin greeting.message = 'Hi from Gradle' class GreetingPlugin implements Plugin<Project> { void apply(Project project) { // Add the 'greeting' extension object project.exten

在阅读Gradle插件教程时,我浏览了以下代码:

apply plugin: GreetingPlugin

greeting.message = 'Hi from Gradle'

class GreetingPlugin implements Plugin<Project> {
    void apply(Project project) {
        // Add the 'greeting' extension object
        project.extensions.create("greeting", GreetingPluginExtension)
        // Add a task that uses the configuration
        project.task('hello') << {
            println project.greeting.message
        }
    }
}

class GreetingPluginExtension {
    def String message = 'Hello from GreetingPlugin'
}
apply plugin:GreetingPlugin
greeting.message='Hi from Gradle'
类GreetingPlugin实现插件{
无效申请(项目){
//添加“问候语”扩展对象
project.extensions.create(“问候语”,问候语)
//添加使用配置的任务
project.task('hello')行

def String message = 'Hello from GreetingPlugin'
是错误的。
def
在这种情况下是对字符的浪费,因为它什么都不做

那条线和我的一样

String message = 'Hello from GreetingPlugin'
请参见该行的

def String message = 'Hello from GreetingPlugin'
是错误的。
def
在这种情况下是对字符的浪费,因为它什么都不做

那条线和我的一样

String message = 'Hello from GreetingPlugin'

当您不关心将变量限制为特定类型时(例如,如果变量在运行时需要支持不同的类型),请参阅使用
def
。否则,您可以忽略
def
并指定一种类型。使用两者都没有好处

请阅读此处的语义:
如果您不想将变量限制为特定类型,例如,如果变量在运行时需要支持不同的类型,请使用
def
。否则,您可以省略
def
并指定一种类型。两者都使用没有好处

请阅读此处的语义: