ani*_*ish 17 groovy private private-members
class A {
private def sayHello() {
println "Anish"
}
}
def a_obj = new A()
a_obj.sayHello()
Run Code Online (Sandbox Code Playgroud)
输出: Anish
有没有什么方法可以保护sayHello()groovy或我错过了什么?
正在搜索[groovy] private显示:
目前尚不清楚它是一个bug还是设计,但它将在Groovy 2.0中重新审视
您可以使用闭包来实现类似的效果,基本上与使用Javascript隐藏信息的方式相同.
package test
class FunctionTests {
def privilagedObj = {
def privVar = 'foo'
def privateFunc = { x -> println "${privVar} ${x}"}
return {x -> privateFunc(x) }
}
public static void main(String[] args) {
def test = new FunctionTests().privilagedObj()
test('bar')
}
}
Run Code Online (Sandbox Code Playgroud)