Anteriormente, pensé que una propiedad en Groovy se indica por la omisión de una palabra clave de ámbito. En otras palabrasGroovy property definition
class Test {
def prop = "i am a property"
public notProp = "i am not"
}
Sin embargo, parece que estoy incorrecta acerca de esto, debido a las siguientes impresiones de guión "val getter"
class Foo {
public bar = "init val"
public getBar() {
"getter val"
}
}
println new Foo().bar
El hecho de que el comprador se invoca cuando se accede bar
sugiere que bar
es una propiedad en lugar de un campo. Entonces, ¿cuál es exactamente la diferencia entre los campos y las propiedades en Groovy?
Gracias, Don
Pueden parecer iguales y actuar de la misma manera, pero Groovy solo generará un getter/setter para una propiedad, que se define por la presencia de un modificador de acceso. – ubiquibacon