DevOps / Apache Groovy Interview questions
What is the difference between a Groovy script and a Groovy class?
A Groovy script is a sequence of statements in a .groovy file that Groovy implicitly wraps in a generated class, extending groovy.lang.Script, at compile time, letting you write top-level executable code without explicitly declaring a class or a main method yourself.
A Groovy class, written explicitly with the class keyword, behaves like a normal class - instantiable, with its own methods and fields - and doesn't get this implicit script-wrapping behavior; it needs to be instantiated and used like any Java class would be.
Because a script is really just sugar over a generated class, you can freely mix top-level script statements with explicit class definitions in the same file, and the script's own code effectively becomes that generated class's run() method under the hood.
More Related questions...