Message-ID: <1754067465.113.1429491743042.JavaMail.email@example.com> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_112_333297385.1429491743042" ------=_Part_112_333297385.1429491743042 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.