Message-ID: <1164055919.21716.1406829892249.JavaMail.firstname.lastname@example.org> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_21715_851805203.1406829892249" ------=_Part_21715_851805203.1406829892249 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Groovy's convention for properties is that any field wi= thout any visibility modifier is exposed as a property, with a getter and a= setter transparently generated for you. For instance, this Person class ex= poses a getter getName() and a setter setName() for a private name field:= p>=20=20
Which is equivalent to this Java class:=20 =20
That said, this approach has one drawback in that you don't have the pos= sibility to define a field with package-scope visibility. To be able to exp= ose a field with package-scope visibility, you can now annotate your field = with the @PackageScope annotation.