Groovy je volitelně typovaný a dynamický programovací jazyk pro vývoj aplikace na platformě Java. Syntaxe Groovy je podobná Javě. Groovy je velmi výkonný, silný typ, dynamický a statický programovací jazyk, který rozšiřuje JDK. Rozšířením JDK může přijímat kód Java. Groovy se nepoužívá pouze jako programovací jazyk, ale také jako skriptovací jazyk. Java programy mohou běžet v prostředí Groovy, protože groovy je nadmnožinou Java. Programy napsané v jiných programovacích jazycích kromě Javy mohou nebo nemusí být možné spustit v prostředí Groovy.
Báječný je nejen založen na Javě, ale také v sobě spojuje sílu jiných jazyků jako např Krajta , Ruby a Smalltalk. S těmito pravomocemi nabízí Groovy více příležitostí než Jáva .
Pojďme pochopit rozdíly mezi Groovy a Java:
Ano ne. | Faktor | Báječný | Jáva |
---|---|---|---|
1. | Výchozí importy | Mezi některé patří java.io.*, java.lang.*, java.math.BigDecimal, java.net.*, groovy.lang.*, groovy.util.*, java.util.* a java.math.BigInteger třídy a balíčky pro všeobecné použití, které jsou standardně importovány. | Java.lang.* je jediný balíček, který je ve výchozím nastavení importován do Javy. |
2. | Klíčová slova | Ve srovnání s Javou má Groovy tři klíčová slova navíc, tj. oběšení, pohřeb , a vlastnost . | V Javě to nemůžeme použít jako klíčové slovo. |
3. | Modifikátor přístupu | Veřejné je výchozí modifikátor přístupu v Groovy. | Package-private je výchozí modifikátor přístupu v Javě. |
4. | Getter a setter | Groovy automaticky generuje getter a setter pro členy třídy. | Java neposkytuje getter a setter automaticky pro členy třídy. Potřebujeme tedy definovat metody getter a setter pro členy třídy. |
5. | Operátor tečky | Groovy také podporuje tečkový operátor, ale na rozdíl od Javy procházejí hovory skutečně pomocí getterů a nastavovačů, které jsou automaticky generovány v Groovy. | Operátor tečky se používá pro přístup k datovým členům třídy. |
6. | Středníky | Na rozdíl od Javy není nutné používat středník. Používá se pouze k zápisu více než jednoho příkazu na jeden řádek. | V Javě je pro příkazy vyžadován středník. |
7. | Pro smyčku | Ve srovnání s Javou je deklarace cyklu for mnohem jednodušší. Smyčku for deklarujeme následujícím způsobem: for(j v 0..4){ print j } 0.až (3){ vytisknout '$it' } 4 krát{ vytisknout '$it' } | V Javě deklarujeme cyklus for následujícím způsobem: for(int I = 0; I<= 5; i++){ System.out.println(i); }=> |
8. | Operátor bezpečné navigace | Abychom se vyhnuli výjimce nulového ukazatele, nemusíme provádět operaci kontroly nulového objektu. | V Javě potřebujeme provádět operace, abychom zkontrolovali, zda je objekt null nebo ne, abychom se vyhnuli výjimkám nulového ukazatele. |
9. | Použití metody main(). | V groovy není potřeba definovat metodu main(), protože je to také skriptovací jazyk a pro každý program vždy existuje třída Script (třída Wrapping). | V Javě musíme definovat metodu main() pro spuštění třídy. |
10. | Booleovské hodnocení | V Groovy je výraz automaticky vyhodnocen jako booleovský. | V Javě se výraz nevyhodnocuje automaticky jako booleovský. |
jedenáct. | Prohlášení pole | V groovy používáme složené závorky ('{}') pro deklaraci pole. String[] test1 = ['A', 'B', 'C'] | V Javě používáme pro deklaraci pole hranaté závorky ('{}'). String[] test1 = ['A', 'B', 'C'] |
12. | Boxování a rozbalování | Neexistuje žádný koncept autoboxu a unboxingu, protože zde je vše objektem. | Aby bylo možné provádět boxování a rozbalování, Java má primitivní datové typy a koncept třídy wrapper. |
Groovy je tedy nadmnožinou Java Java a můžeme spouštět programy Java v prostředí Groovy. Groovy a Java jsou si podobné a oba mají drobné rozdíly, které jsme definovali výše.