Groovy yra pasirinktinai spausdinama ir dinamiška programavimo kalba, skirta programai kurti Java platformoje. „Groovy“ sintaksė yra panaši į „Java“. Groovy yra labai galinga, stipraus tipo, dinamiška ir statiška programavimo kalba, praplečianti JDK. Išplėtus JDK, jis gali priimti Java kodą. Groovy naudojama ne tik kaip programavimo kalba, bet ir kaip skriptų kalba. Java programos gali veikti Groovy aplinkoje, nes groovy yra Java superrinkinys. Programos, parašytos kitomis programavimo kalbomis, išskyrus Java, gali būti arba gali būti neįmanomos paleisti Groovy aplinkoje.
Groovy yra ne tik pagrįsta „Java“, bet ir sujungia kitų kalbų, tokių kaip Python , Ruby ir Smalltalk. Turėdamas šias galias, Groovy suteikia daugiau galimybių nei Java .
Supraskime skirtumus tarp Groovy ir Java:
Taip ne. | veiksnys | Groovy | Java |
---|---|---|---|
1. | Numatytasis importavimas | Java.io.*, java.lang.*, java.math.BigDecimal, java.net.*, groovy.lang.*, groovy.util.*, java.util.* ir java.math.BigInteger yra keletas bendrosios paskirties klasės ir paketai, kurie importuojami pagal numatytuosius nustatymus. | Java.lang.* yra vienintelis paketas, kuris pagal numatytuosius nustatymus importuojamas į Java. |
2. | Raktažodžiai | Palyginus Java, Groovy turi tris papildomus raktinius žodžius, t.y. pakabinimas, palaidojimas , ir bruožas . | Java negalime naudoti to kaip raktinio žodžio. |
3. | Prieigos modifikatorius | Viešumas yra numatytasis Groovy prieigos modifikatorius. | Privatus paketas yra numatytasis „Java“ prieigos modifikatorius. |
4. | Getteris ir seteris | „Groovy“ klasės nariams automatiškai generuoja „Getter“ ir „Setter“. | „Java“ klasės nariams automatiškai nepateikia „Geterio“ ir „Setterio“. Taigi, klasės nariams turime apibrėžti geter ir setter metodus. |
5. | Taško operatorius | „Groovy“ taip pat palaiko taškų operatorių, tačiau, skirtingai nei „Java“, skambučiai iš tikrųjų vyksta per „Groovy“ automatiškai sugeneruojamus „getter“ ir „setters“. | Taško operatorius naudojamas pasiekti klasės duomenų narius. |
6. | Kabliataškiai | Skirtingai nuo Java, kabliataškio naudoti nereikia. Jis naudojamas tik rašant daugiau nei vieną teiginį vienoje eilutėje. | Java kabliataškis turi būti naudojamas teiginiams. |
7. | Už kilpą | Palyginti su „Java“, „for“ ciklo deklaravimas yra daug lengvesnis. Ciklą deklaruojame tokiu būdu: for(j in 0..4){ print j } 0.iki(3){ spausdinti '$it' } 4 kartus{ spausdinti '$it' } | „Java“ sistemoje „ciklą“ deklaruojame tokiu būdu: for(int I = 0; I<= 5; i++){ System.out.println(i); }=> |
8. | Saugios navigacijos operatorius | Norint išvengti nulinio rodyklės išimties, nereikia atlikti operacijos, kad patikrintume nulinį objektą. | „Java“ sistemoje turime atlikti operacijas, kad patikrintume, ar objektas yra nulinis, ar ne, kad išvengtume nulinės rodyklės išimčių. |
9. | Main() metodo naudojimas | Groovy programoje nereikia apibrėžti main() metodo, nes tai taip pat yra scenarijų kalba ir kiekvienai programai visada yra scenarijaus klasė (įvyniojimo klasė). | „Java“ sistemoje turime apibrėžti pagrindinį () metodą, kad vykdytume klasę. |
10. | Būlio vertinimas | „Groovy“ išraiška automatiškai įvertinama kaip Būlio reikšmė. | Java, išraiška neįvertinama automatiškai kaip Būlio reikšmė. |
vienuolika. | Masyvo deklaracija | „Groovy“ masyvui deklaruoti naudojame lenktus skliaustus („{}“). String[] test1 = ['A', 'B', 'C'] | „Java“ masyvui deklaruoti naudojame laužtinius skliaustus ('{}'). String[] test1 = ['A', 'B', 'C'] |
12. | Boksas ir išpakavimas | Autoboxing ir išpakavimo sąvokos nėra, nes čia viskas yra objektas. | „Java“ turi primityvius duomenų tipus ir įpakavimo klasės koncepciją, kad būtų galima atlikti boksavimą ir išpakavimą. |
Taigi, „Groovy“ yra „Java Java“ superrinkinys, o „Java“ programas galime paleisti „Groovy“ aplinkoje. „Groovy“ ir „Java“ yra panašūs, ir abu turi nedidelių skirtumų, kuriuos apibrėžėme aukščiau.