加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Groovy属性定义

发布时间:2020-12-14 16:29:34 所属栏目:大数据 来源:网络整理
导读:以前我认为Groovy中的属性由省略了作用域关键字表示.换一种说法 class Test { def prop = "i am a property" public notProp = "i am not"} 但是,看起来我对此不正确,因为以下脚本打
以前我认为Groovy中的属性由省略了作用域关键字表示.换一种说法

class Test {
   def prop = "i am a property"
   public notProp = "i am not"
}

但是,看起来我对此不正确,因为以下脚本打印“getter val”

class Foo {
  public bar = "init val"

  public getBar() {
    "getter val"
  }
}

println new Foo().bar

访问bar时调用getter的事实表明bar是属性而不是字段.那么Groovy中字段和属性之间究竟有什么区别呢.

谢谢,

解决方法

要直接访问字段,您必须在前面添加@符号:

assert "getter val" == new Foo().bar
assert "init val" == new Foo().@bar

新的Foo().getBar()的缩写形式虽然bar不是属性,但从我的观点来看仍然是简洁的.

相比之下,您无法调用foo.setBar(“setter val”),但是如果您将bar定义为没有访问修饰符的属性,则可以.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读