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定义为没有访问修饰符的属性,则可以. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |