2009-11-10 68 views
2

在Groovy的控制台,下面的代码执行没有错误:Groovy语言错误

class F { 
    private def getFoo() {"foo"} 
    private def barValue = "bar" 
} 

def f = new F() 
assert f.barValue == "bar" 
assert f.properties.containsKey("foo") 

这意味着:

  • 一台可以上网的类私有成员的类
  • 类外'属性来源于私有(和公共)的获取/设置方法

在我看来,这两个都是非常严重的语言错误。虽然我非常喜欢Groovy,但我发现一种已经存在了相当长时间的语言并没有像隐私概念那样正确地实现一些基本的东西,这令人难以置信。

这些实际上是错误还是我错过了什么?

谢谢, 唐

回答