Professional Documents
Culture Documents
Groovy Fundamentals
Module Overview
Object Oriented
Platform Independent
Simple
Secure
Architecture-neutral
Portable
Robust
Multithreaded
Interpreted
High Performance JIT
Distributed
Dynamic
Intro. To Groovy
OOP
Through Apache Licence
Optionally compiled
Runs in JVM
Compiles down to Java byte-code
Simplified syntax
Support both Static and dynamically typed
Support for operator overloading.
operator overloading
Native syntax for lists and associative arrays
Native support for regular expressions
Native support for various markup languages
You can use existing Java libraries
Groovy extends the java.lang.Object
Differences between Groovy and Java
Default imports
Multi-methods
Array initializers
Package scope visibility
ARM blocks - Automatic Resource Management
Inner classes
Static inner classes
Anonymous Inner Classes
Creating Instances of Non-Static Inner Classes
Lambdas
GStrings
String and Character literals
Primitives and wrappers
Behaviour of ==
Conversions
Extra keywords
Default imports
Following
Can be written as
Inner classes
UnSupported Supported
Lambdas
Groovy Java
Java 8 supports lambdas Has Closures
Runnable run = () -> Runnable run = { println
System.out.println("Run 'run' } list.each { println
"); it } // or
list.forEach(System.out: list.each(this.&println)
:println);