variables - 使用 'def' 声明变量和使用已知类型声明变量有什么区别吗?

标签 variables groovy function

假设我有一个定义的类

class MyClass {
}

使用 def c = new MyClass() 而不是 MyClass c = new MyClass() 会影响运行时性能吗?还是完全一样?

最佳答案

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()

关于variables - 使用 'def' 声明变量和使用已知类型声明变量有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8671695/

相关文章:

C++ - 常量变量,这是一个正确的术语吗?

java - 如何确定 Grails 中的父类

javascript - 在带有内部调用(js)的函数中使用 setInterval?

eclipse - 如何更改 Eclipse-Groovy 插件 Groovy 库?

gradle - 跳过Gradle Groovy脚本项目中的构建 jar

javascript - 获取函数中的变量

javascript - 在 Javascript 中执行动态命名的函数

java - 我们可以在作业的 LHS 上构建和使用字符串吗?

python - 带变量的 sed 不能完全按照我希望的方式工作

java - 有没有办法在java中将变量转换为常量?