Groovy   发布时间:2022-04-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Groovy:构造函数问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_618_1@
如果我有这样的课程:

class Person { 
def name
def greeTing = "Hello $name"
}

我打电话给
bob = new Person(姓名:“bob”)

当我在这一点上检查鲍勃时,我看到问候语中没有“鲍勃”.我究竟做错了什么?

解决方法

你可以 use the @Lazy annotation解决这个问题

class Person { 
  def name
  @Lazy def greeTing = "Hello $name"
}

bob = new Person(name: "bob")
println bob.greeTing

将根据您的需要打印Hello bob.注释会更改问候语的getter,以便仅在第一次调用生成(然后缓存结果).这有一个副作用,一旦调用一次就使问候静态,但你没有说是否需要随着时间的推移改变(由于名称改变)…即;

bob = new Person(name: "bob")
println bob.greeTing
bob.name = 'dave'
println bob.greeTing

将打印:

Hello bob
Hello bob

大佬总结

以上是大佬教程为你收集整理的Groovy:构造函数问题全部内容,希望文章能够帮你解决Groovy:构造函数问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。