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