A Groovy egy opcionálisan tipizált és dinamikus programozási nyelv az alkalmazás Java platformon történő fejlesztéséhez. A Groovy szintaxisa hasonló a Java-hoz. A Groovy egy nagyon erős, erős típusú, dinamikus és statikus programozási nyelv, amely kiterjeszti a JDK-t. A JDK kiterjesztésével képes elfogadni a Java kódot. A Groovy-t nem csak programozási nyelvként, hanem szkriptnyelvként is használják. A Java programok futhatnak a Groovy környezetben, mivel a groovy a Java szuperkészlete. Előfordulhat, hogy a Java kivételével más programozási nyelveken írt programok futtathatók a Groovy környezetben, vagy nem.
Groovy nem csak Java alapú, hanem más nyelvek erejét is egyesíti, mint pl Piton , Ruby és Smalltalk. Ezekkel az erőkkel a Groovy több lehetőséget kínál, mint Jáva .
Megértjük a Groovy és a Java közötti különbségeket:
Igen nem. | Tényező | Groovy | Jáva |
---|---|---|---|
1. | Alapértelmezett importálás | A java.io.*, java.lang.*, java.math.BigDecimal, java.net.*, groovy.lang.*, groovy.util.*, java.util.* és java.math.BigInteger néhány általános célú osztályok és csomagok, amelyek alapértelmezés szerint importálva vannak. | A Java.lang.* az egyetlen csomag, amely alapértelmezés szerint importálva van a Java nyelven. |
2. | Kulcsszavak | A Java összehasonlításában a Groovynak három extra kulcsszója van, pl. akasztás, temetés , és jellemvonás . | Java-ban ezt nem használhatjuk kulcsszóként. |
3. | Hozzáférés módosító | A nyilvános a Groovy alapértelmezett hozzáférés-módosítója. | A Package-private a Java alapértelmezett hozzáférés-módosítója. |
4. | Getter és setter | A Groovy automatikusan generálja a gettert és a settert az osztály tagjai számára. | A Java nem biztosít automatikusan gettert és settert az osztály tagjai számára. Tehát meg kell határoznunk a getter és a setter metódusokat az osztály tagjai számára. |
5. | Pont operátor | A Groovy a pont operátort is támogatja, de a Java-val ellentétben a hívások valójában gettereken és settereken keresztül mennek keresztül, amelyek automatikusan generálódnak a Groovyban. | A pont operátor egy osztály adattagjaihoz való hozzáférésre szolgál. |
6. | Pontosvessző | A Java-val ellentétben a pontosvessző használata nem kötelező. Csak arra szolgál, hogy egy sorban több utasítást írjon. | Java nyelven a pontosvessző szükséges az utasításokhoz. |
7. | A hurokhoz | A Java-hoz képest a for ciklus deklarálása sokkal egyszerűbb. A ciklust a következő módon deklaráljuk: for(j in 0..4){ print j } 0.-ig(3){ nyomtasd ki: '$it' } 4.times{ nyomtasd ki: '$it' } | Java-ban a ciklust a következő módon deklaráljuk: for(int I = 0; I<= 5; i++){ System.out.println(i); }=> |
8. | Biztonságos navigációs kezelő | A nullmutató kivételének elkerülése érdekében nem kell műveletet végrehajtanunk a nullobjektum ellenőrzéséhez. | Java-ban műveleteket kell végrehajtanunk annak ellenőrzésére, hogy az objektum nulla-e vagy sem, hogy elkerüljük a nullmutató kivételeket. |
9. | A main() metódus használata | A groovy-ban nincs szükség a main() metódus definiálására, mert az is egy szkriptnyelv, és mindig van Script class (Wrapping class) minden programhoz. | Java-ban meg kell határoznunk a main() metódust az osztály végrehajtásához. |
10. | Boole-értékelés | A Groovy-ban a kifejezés automatikusan logikai értékként kerül kiértékelésre. | Java nyelven a kifejezés nem értékelődik ki automatikusan logikai értékként. |
tizenegy. | Tömb deklaráció | A groovy-ban a curly zárójeleket ('{}') használjuk egy tömb deklarálásához. String[] test1 = ['A', 'B', 'C'] | Java nyelven szögletes zárójeleket ('{}') használunk egy tömb deklarálásához. String[] test1 = ['A', 'B', 'C'] |
12. | Boksz és Unboxing | Nincs fogalma az automatikus dobozolásról és a kicsomagolásról, mert itt minden a tárgy. | A dobozolás és a kicsomagolás végrehajtásához a Java primitív adattípusokkal és a burkolóosztály fogalmával rendelkezik. |
Tehát a Groovy a Java Java szuperkészlete, és Java programokat futtathatunk Groovy környezetben. A Groovy és a Java egyaránt hasonló, és mindkettőnek van néhány apró különbsége, amelyeket fent definiáltunk.