Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables 用';def&x27;并用已知类型声明它?_Variables_Groovy_Function - Fatal编程技术网

Variables 用';def&x27;并用已知类型声明它?

Variables 用';def&x27;并用已知类型声明它?,variables,groovy,function,Variables,Groovy,Function,假设我有一个已定义的类 class MyClass { } 在运行时执行def c=new MyClass()而不是MyClass c=new MyClass()是否会影响性能?还是完全相同?def是类型名称的替代品。在变量定义中,它用于表示您不关心类型 如果不声明变量的类型,Groovy将被声明为typeObject。您可以将def视为对象的别名 在您的示例中: def c = new MyClass() // transform to: java.lang.Object c = new M

假设我有一个已定义的类

class MyClass {
}

在运行时执行
def c=new MyClass()
而不是
MyClass c=new MyClass()
是否会影响性能?还是完全相同?

def
是类型名称的替代品。在变量定义中,它用于表示您不关心类型

如果不声明变量的类型,Groovy将被声明为type
Object
。您可以将
def
视为
对象的别名

在您的示例中:

def c = new MyClass()
// transform to:
java.lang.Object c = new MyClass()

见:
MyClass c = new MyClass()
// transform to:
MyClass c = new MyClass()