Contents xiii
Method Overloading ������������������������������������������������������������������������������������������������������������������ 386
Arrays ���������������������������������������������������������������������������������������������������������������������������������������� 386
Constructors ������������������������������������������������������������������������������������������������������������������������������ 387
Encapsulation ���������������������������������������������������������������������������������������������������������������������������� 389
Inheritance �������������������������������������������������������������������������������������������������������������������������������� 389
Constructor Chaining ����������������������������������������������������������������������������������������������������������������� 391
Polymorphism ��������������������������������������������������������������������������������������������������������������������������� 393
Summary ����������������������������������������������������������������������������������������������������������������������������������� 398
■ Appendix B: Introduction to Groovy ������������������������������������������������������������������������������� 399
Getting Started �������������������������������������������������������������������������������������������������������������������������� 399
GroovyShell �������������������������������������������������������������������������������������������������������������������������������������������������������� 401
GroovyConsole ��������������������������������������������������������������������������������������������������������������������������������������������������� 402
GStrings ������������������������������������������������������������������������������������������������������������������������������������� 405
Single-Line Strings �������������������������������������������������������������������������������������������������������������������������������������������� 405
Multiline Strings ������������������������������������������������������������������������������������������������������������������������������������������������ 406
Slashy Strings ���������������������������������������������������������������������������������������������������������������������������������������������������� 407
Multiline Slashy Strings ������������������������������������������������������������������������������������������������������������������������������������� 407
Dollar Slashy Strings ����������������������������������������������������������������������������������������������������������������������������������������� 408
Collective Datatypes ������������������������������������������������������������������������������������������������������������������ 409
Arrays ���������������������������������������������������������������������������������������������������������������������������������������������������������������� 410
Lists ������������������������������������������������������������������������������������������������������������������������������������������������������������������� 410
Maps ������������������������������������������������������������������������������������������������������������������������������������������������������������������ 411
Ranges ��������������������������������������������������������������������������������������������������������������������������������������������������������������� 412
Sets�������������������������������������������������������������������������������������������������������������������������������������������������������������������� 414
Methods ������������������������������������������������������������������������������������������������������������������������������������ 414
Closures ������������������������������������������������������������������������������������������������������������������������������������ 415
Understanding Closures ������������������������������������������������������������������������������������������������������������������������������������ 415
Implicit Variables ����������������������������������������������������������������������������������������������������������������������������������������������� 417
Explicit Declaration of Closure ��������������������������������������������������������������������������������������������������������������������������� 418
Reusing the Method as a Closure ���������������������������������������������������������������������������������������������������������������������� 418
Passing a Closure as a Parameter ��������������������������������������������������������������������������������������������������������������������� 419