假设我有一个已定义的类
class MyClass {
}
在执行def c = new MyClass()
而不是MyClass c = new MyClass()
时,运行时的性能是否受到影响?还是完全一样?
答案 0 :(得分:3)
def
是类型名称的替代品。在变量定义中,它用于表示您不关心类型。
如果你没有声明变量的类型,那么封底下的Groovy将被声明为类型Object
。您可以将def
视为Object
的别名。
在你的例子中:
def c = new MyClass()
// transform to:
java.lang.Object c = new MyClass()
MyClass c = new MyClass()
// transform to:
MyClass c = new MyClass()